堆排序
堆排序
核心思想:
前提知识:堆其实就是一种特殊的完全二叉树,分为大顶堆和小顶堆,大顶堆就是指父节点>=左右孩子结点,而左右孩子结点之间的大小关系随意,小顶堆反之
堆排序核心:就是先把序列构建成大顶堆序(升序用大顶堆),然后大顶堆的根节点和最后一个结点交换位置,这样一来每交换一次就得到当前序列的最大值,并把它放在了最后面,接着把剩下的序列继续构建成大顶堆,重复上面动作,直到序列只剩一个...
原创
2018-06-06 10:14:24 ·
2075 阅读 ·
0 评论