在算法的总结过程中,主要是快速排序算法,发现了堆排序,然后之前对堆的概念也不是非常清楚,所以这里做一个总结,帮助自己快速上手来辅助算法的学习。2017.7.15,在总结的过程中用到了以下几个博客的知识,在此感谢:CSDN的http://blog.csdn.net/wypblog/article/details/8076324和博客园的http://www.cnblogs.com/JVxie/p/4859889.html
堆的定义
最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。大顶堆是一棵完全二叉树,同时也是一棵最大树。小顶堆是一棵完全完全二叉树,同时也是一棵最小树。
完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。