摘要: 堆用在动态数据排序中非常合适 以1索引为开始节点,parent(i) = i /2,left_child (i) =2*i ; right_child(i) = 2*i +1; 最后一个非叶子节点的索引count/2 以0索引为开始节点,parent(i) = (i-1)/2, left_child 阅读全文
posted @ 2020-03-29 21:41 Erick-LONG 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 快速排序算法思想: 快速排序是冒泡排序的改进算法。它也是通过不断比较和移动交换来实现排序的,只不过它的实现增大了记录的比较和移动的距离,将关键字较大的元素从前面直接放到后面,关键字较小的元素直接从后面放到前面,从而减小了比较次数和交换次数。 对于近乎有序的数组,可采用起始值为数组中随机数字,否则会退 阅读全文
posted @ 2020-03-29 17:29 Erick-LONG 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 算法思想:首先把一个数组中的元素,按照某一方法,先拆分了之后,按照一定的顺序各自排列,然后再归并到一起,使得归并后依然是有一定顺序的 。 算法可自顶向下拆分数组也可以自底向上拆分数组合并 自底向上的归并排序有对索引依赖少的优势,对于链表来说比较适合 //自底向上的归并排序 template<type 阅读全文
posted @ 2020-03-29 11:32 Erick-LONG 阅读(171) 评论(0) 推荐(0) 编辑