c/c++程序设计
文章平均质量分 72
mayo_ai
视频编码HEVC:http://edu.csdn.net/course/detail/5551
展开
-
多线程编程之创建工作者线程
由于之前项目用到了多线程,但每怎么看MSDN的文档,今天复习便仔细看了下,全文翻译如下:工作者线程:工作者线程通常用来在后台执行一些用户不需要等待的任务,如一些比较耗时的数学计算(我项目中耗时的数学计算便是相机的标定,需要对一个比较大的矩阵进行SVD分解及其他运算)和后台打印等。创建一个工作者线程相对来说是一个简单的任务,只需要两步就可以使你的线程工作起来:完成线程函数的编写和开始线程翻译 2015-03-17 09:42:34 · 1591 阅读 · 0 评论 -
面向对象程序设计之开放-封闭原则(OCP)
所谓开放就是一个模块的功能是可以扩展的,是可以随时满足外部需求的变化;所谓封闭就是在模块功能扩展的同时,我们不必去改动原有模块的代码,不必去破坏原有模块的完整性,我们所要做的只是在模块之外添加一些代码。要满足这个原则的关键方法就是抽象,将模块的功能抽象化,例如我们现在需要开发一个模块去读入外部设备输入的数据并把数据显示出来,刚开始的时候,需求只是要求从键盘读入,于是我们实现我们的模块voi原创 2015-03-10 14:07:03 · 729 阅读 · 0 评论 -
以一个非常弱智的例子来理解动态规划思想
动态规划思想顾名思义,在动态中逐步解决问题以达到最优解,在这里举一个小学生一眼就能看出答案的例子来帮助理解.如下从A地到E地有多条路径可以选择,且中途每两个城市之间可供选择的路径有三条.我们需要求出从A到E的最短时间?其实我们一看到这样的例子,自然就会运用到动态思想去解,即假设我们从A开始出发,第一步先选择从A到B的最优路径,到了B之后再选择从B到C的最优路径,直到我们到达E为止,原创 2015-03-22 11:45:12 · 696 阅读 · 0 评论 -
插入排序与折半插入排序比较
插入排序是一种原地排序算法,即它的空间复杂度为o(1),原始插入排序的最坏(即原始序列的顺序刚好和我们所希望的顺序相反)和平均时间复杂度均为o(n*n),而在最好的情况下(即原始序列已经是按照我们所希望的顺序排好的序列)为o(n)。下面的例子展示原始插入排序的整个过程:整个序列存放在数组中,按照从小到大的顺序进行排列。8 2 4 9 3 6.//原始序列从第二个元素开始,每个元素依次与原创 2015-04-07 16:21:48 · 1121 阅读 · 2 评论