09 2015 档案
摘要:归并算法采用分治法,利用二叉树的概念来实现排序算法,建立在递归合并操作的基础上算法。通过将数组分组到两个序列,排序,然后在归并排序,进而实现算法。归并排序算法就是利用归并的思想实现的排序算法。 一、算法思想 数组序列{16, 7, 13, 10, 9, 15, 3, 2, 5, 8, 12, 1, 11, 4, 6, 14},利用一定的交换排序,得到有序的小序列后,进行两两合并排序后再合并,最...
阅读全文
摘要:选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更小的值放在前面)。简单选择排序就是单纯的从数组中一次一次循环获取到最小值,放到循环位置。而堆排序正如名字...
阅读全文
摘要:插入排序:数组中获取数据,遍历数组中数据进行比较,找到合适位置,进行插入工作。直接插入和希尔排序关键区别在于:希尔排序是有分组,然后进行迭代,组间插入数据,是一种变形的插入排序算法。一、直接插入法1、算法思想上图是一张扑克牌,在摸牌阶段就是直接插入操作。(1) 数组中下标为1 的元素视为元素个数为 ...
阅读全文
摘要:交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。冒泡和快速排序是交换排序算法,冒泡排序给人直观感觉是从前开始遍历,将小的元素,慢慢交换到数组前面。快速排序直观感觉是从数组两边开始,以某一值作为分组标准,从顶端和尾端开始慢慢交换。一、冒泡算法1、“加火”-...
阅读全文
摘要:排序的目标就是将一组数据(序列)重新排列,形成有序的序列 (递增或者递减)。Donald Kuncth的经典之作《计算机程序设计艺术》第三卷专门讨论排序和查找。从无序到有序,有效减少系统的熵值,增加程序的有序度。对于一个未知系统,有序是非常有用的先验知识。因此,排序算法是其他排序算法的基础,比如二分...
阅读全文
摘要:在数学中我们学过线性理论,在图像亮度和对比度调节中同样适用,看下面这个公式: 在图像像素中其中: 参数f(x)表示源图像像素。 参数g(x) 表示输出图像像素。 参数a(需要满足a>0)被称为增益(gain),常常被用来控制图像的对比度。 参数b通常被称为偏置(bias),常常被用来控制图像的亮度。 一、获取图像像素 在opencv中图像数据是存放在Mat数据类型...
阅读全文
摘要:平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度之差不能超过1,如果插入或者删除一个节点使得高度之差大于1,就要进行节点之间的旋转,将二叉树重新维持在一个平衡状态。这个方案...
阅读全文
摘要:构造二叉排序树目的是为了提高查找、插入和删除的效率。其实在构建二叉排序树的时候已经暗藏着排序。因此二叉排序树具有以下几个特点: 如根节点有左子树,则左子树的所有结点都比根节点小。 如根节点有右子树,则右子树所有结点都比根节点大。 根节点的左、右子树也分别为二叉排序树。 二叉树的存储结构 typedef struct BiTree { int d...
阅读全文
摘要:在图像处理中,目标区域定义为感兴趣区域ROI(region of Interest),这是后期图像处理的基础,在获取ROI后,进行一些列的处理。ROI区域在Opencv中就是Rect,先构建Rect,然后给予ROI一些特点,形成了图像掩膜。 一、ROI创建 //定义一个Mat类型并给其设定ROI区域 Mat imageROI; //方法一 imageROI=image(Rect(5...
阅读全文
摘要:什么是顺序查找呢?顺序查找的原理很简单,就是遍历整个列表,逐个进行记录的关键字与给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录。如果直到最后一个记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找失败。一、顺序查找在前面讲解了顺序表的存储结构,针对顺序查找,即适用于...
阅读全文
摘要:在上万条数据中,查找制定元素,这就是查找完成的功能。 查找表:由同一种类型元素构成的集合,由于“集合”中数据元素之间存在松散的关系,因此查找表是一种灵活应用的数据结构。 查找表的操作: 查询某个特定的数据元素是否在查找表中。 查询某个特定元素的各种属性。 在查找表中制定位置插入一条数据。 从查找表中删除特定的数据元素。 查找表中四个操作之间是紧密关联的,比如,...
阅读全文
摘要:上一章节讲解了拓扑排序问题,拓扑排序是解决一个工程能否顺序解决的问题,本质是一个广度层次遍历的过程,通过记录顶点入度问题,进行逐步输出的工作。在实际生活中,往往是求解工程完成需要最短时间问题。比如生活中生产一辆汽车,需要生产各种各样的零件,最终组装成车。例如生产轮子0.5天,发动机3天,底盘2天,其...
阅读全文
摘要:在生活、工作中进行一项任务,必须有先后顺序,这就是流程图,在流程图中有if分支,也就是下一个活动的展开,可能上一次活动中所有分支执行完毕,这样就形成了拓扑结构。接入项目中比较简单,我们可以通过链表表示项目之间各个活动的关系,当项目流程比较复杂时,我们需要有向图来描述这种关系,而且是不能循环的有向图,...
阅读全文