摘要: 堆排序 堆排序是建立在堆结构的基础上的,是堆的一个应用实例 由前面我们已经知道了,从一个毫无逻辑的初始序列到建堆完成,可以得到堆顶是整个序列中最大的元素.那么就很容想到如果每次都从堆顶取走最大元素,序列不就有序了吗. 总体思想是这样的没错,但是还有很多细节需要考量,比如取走堆顶之后堆顶放哪;谁来做新 阅读全文
posted @ 2019-09-20 15:15 dekeshile 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 二叉树的创建 二叉树遍历 AVL树(平衡二叉树) 显然,这样一个结构并不是堆,因为不满足堆的定义,它既不是大顶堆也不是小顶堆,这时候就需要我们对这个结构进行调整,让它满足堆的定义成为一个真正的堆. 调整的核心 自下而上的下滤 下面模拟一下调整堆的过程: 从原始数组的最后一个元素开始,也就是上述二叉树 阅读全文
posted @ 2019-09-20 15:14 dekeshile 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 【栈及其应用】 栈是一种“ 后进先出 ”线性序列结构,和数组这种同是线性序列的结构相比,栈的一端被“封”住,元素进入和出去都只允许从某一端。 STL 里的栈 栈的应用 1.逆序输出 — 进制转换 十进制转其他进制 如: 121~(10)~ = 1111000~(2)~ ​ 12345 ~(10)~ 阅读全文
posted @ 2019-09-20 15:11 dekeshile 阅读(144) 评论(0) 推荐(0) 编辑