- 博客(3)
- 收藏
- 关注
原创 算法导论—排序算法学习(3)
三.堆排序 堆排序与归并排序一样,他们的时间复杂度都是o(log n),但是堆排序优于归并排序且与插入排序相同的是,任何时候都只需要申请常数个临时空间来存储数据。因此,堆排序是集合了归并排序与插入排序优点的一种排序方法。 涉及到堆排序,首先要了解堆这种数据结构。堆是一个数组,它可以被看成一个近似的完全二叉树,树上的每一个节点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是
2015-03-18 17:14:11 339
原创 算法导论—排序算法学习(2)
二.归并排序 归并排序算法在思想上是借鉴了分治策略来解决问题的。而分治模式在算法结构上是递归的。 分治模式在每层递归时都有三个步奏: 分解原问题为若干子问题,这些子问题是原问题的规模较小的实例; 解决这些子问题,递归地求解各子问题。然而,若子问题的规模足够小,则直接求解; 合并这些子问题的解成原问题的解。 归并排序算法完全遵循分治模式。直观上也可以
2015-03-12 10:31:44 339
原创 算法导论—排序算法学习(1)
算法导论—排序算法学习(1)一.插入排序 插入排序有点类似于我们打牌时整理手牌的过程,以左手拿牌,右手起牌为例。左手上面的牌,总是按照从小到大(从大到小)的顺序排列,而右手拿上来的牌则根据大小在左手选择位置插入,从而依旧保证了左手手牌依然是有序的。 由这种思想引申过来,将数组中一串乱序的数字当做待整理的扑克牌,每次抽取一张牌,即每次处理数组中的一个元素,依次整理直到所有元素处
2015-03-11 22:16:16 294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人