View on GitHub

heartCraft.github.io

一朵野花,随风摆荡

十大经典排序算法

稳定性:当原序列中a=b,且a位于b前时,排序后a仍位于b前

in-place:占用常数内存

out-place:占用额外内存

n:数据规模

k:桶的数量

详细排序算法动画与实现

堆的概念:完全二叉树,父节点总大于子节点(大顶堆);父节点总小于子节点(小顶堆)。以大顶堆为例:当新增一条数据时,将该数据先放置在最后一个节点,用此节点一直与父节点递归交换,直达小于父节点,或到达根节点;当删除一条数据时,只能删除根节点,即返回最大值,根节点删除后,用最后一个节点放置在根节点,从根节点开始递归的与其子节点比较,直到大于两个子节点或无子节点;当更改一个节点数据时,更改后的值于原值比较,大于则向父节点递归交换,小于则向子节点递归交换,直达满足大顶堆条件。