
数据结构/算法
May的博客
这个作者很懒,什么都没留下…
展开
-
【大话数据结构&算法】哈夫曼树
哈夫曼树又称为最优二叉树。1、路径和路径长度在一棵树中,从一个节点往下可以达到的孩子或者子孙节点之间的通路称为路径。通路中分支的数目称为路径长度。若规定根节点的层数为1,则从根节点 到第L层节点的路径长度为L-1.2、节点的权和带权路径长度若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。3、树的带权路径长度树原创 2016-08-08 20:27:17 · 1115 阅读 · 0 评论 -
【大话数据结构&算法】查找算法
顺序查找针对无序序列的一种最简单的查找方式。算法思想: 从表中第一个记录开始,逐个与给定值进行比较,若某个记录的关键字和给定值相等,则查找成功;反之,若直到最后一个记录,其关键字和给定值都不相等,则表明表中没有所查记录,查找失败。由于我们不清楚这个数据判断究竟需要多少次。但是我们知道,这种数据查找最少需要1次,最多需要n次,平均查找长度为(1+n)/2。顺序查找算法的时间复杂度为O(n)。二分原创 2016-08-10 21:17:56 · 1033 阅读 · 0 评论 -
【大话数据结构&算法】归并排序
归并排序算法的基本步骤:1、把0~length-1的数组分成左数组和右数组; 2、对左数组和右数组进行迭代排序; 3、将左数组和右数组进行合并,那么生成的整个数组就是有序的数据数组。归并排序基本算法实现如下:void _merge_data_in_array(int[] array, int start,int middle,int end){ int[] mergeA原创 2016-08-08 12:49:54 · 1290 阅读 · 0 评论 -
【大话数据结构&算法】直接选择排序
选择类排序的主要动作是“选择”,直接选择排序采用最简单的选择方式,从头至尾顺序扫描序列,找出最小的一个记录,和第一个记录交换,接着从剩下的记录中继续这种选择和交换,最终使序列有序。直接选择排序算法思想(以从小到大为例): 1、从第一个元素开始,选出一个最小的元素与第一个元素互换; 2、继续从第二个元素开始,向后选出最小的元素,与第二个元素互换; 3、依次循环执行,直到最大的元素放在了原创 2016-08-06 21:54:21 · 1105 阅读 · 0 评论 -
【大话数据结构&算法】直接插入排序
直接插入排序的基本思想:每趟将一个待排元素作为关键字,按照其关键字值得大小插入到已经排好序的部分序列的适当位置,直到插入完成。算法思想总结如下:(设待排序的数组为a[0…n-1]) 1、初始时,a[0]就是第一个有序区间,无序区间为a[1…n-1]; 2、将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间; 3、i++并重复第二步,知道i=n-1,此时排序完成。原创 2016-08-04 21:45:36 · 1062 阅读 · 0 评论 -
【大话数据结构&算法】希尔排序
希尔排序的实质就是分组插入排序,该方法又称为缩小增量排序。直接插入排序适合于序列基本有序的情况,希尔排序的每趟排序都会使整个序列变得更加有序,等整个序列基本有序了,再来一趟直接插入排序,这样会使排序效率更高,这就是希尔排序的思想。基本思想总结如下: 先将整个待排元素序列分割 成若干个子序列(由相隔某个“增量” 的元素组成)分别进行直接插入排序, 然后依次缩减增量再进行排序,待整个 序列中的元素基原创 2016-08-04 20:51:25 · 954 阅读 · 0 评论 -
【大话数据结构&算法】冒泡排序
起泡排序又称为冒泡排序。它是通过一系列的“交换”动作完成的。首先将第一和第二个记录进行比较,如果第一个记录大于第二个记录,则两者交换位置,否则保持原位置不变;然后比较第二和第三个记录……一直按这种方式比较下去,最终最大的记录被交换到最后,一趟冒泡排序完成。这个过程,大的记录就像一块石头一样“沉底”,小的记录逐渐向上“浮动 ”,冒泡排序的名字也是由此而来的。冒泡排序的步骤归纳如下(以升序排序为例):原创 2016-08-03 22:51:45 · 1560 阅读 · 0 评论 -
【大话数据结构&算法】快速排序算法
快速排序是交换类的排序,比如在站队的时候,老师说:“第一个同学出列,其他同学以第一个同学为中心,比他矮的全排在左边,比他高的全排在右边。”这就是一趟快速排序。可以看出,一趟快速排序是以一个“枢轴”为中心,将序列分成两个部分,枢轴的一边全是比它小(或者小于等于)的,另一边则全是比它大(或者大于等于)的。快速排序算法采用了一种分治的策略,通常称其为分治法,其基本思想是:1、先从数列中取出一个数作为基准数原创 2016-08-03 20:37:42 · 2075 阅读 · 0 评论