堆排序 C++
摘要:
1 堆排序拥有插入排序的优点 (是一种原地排序算法只需要存储常数个元素在输入数组以外 即省空间), 同时拥有合并排序算法的复杂度 nlgn,逼格有点高2 堆数据结构 是一个数组对象,可以被视为一颗完全二叉树,树中的每个结点的值 与 数组中存放的值 对应(看图) 完全二叉树,树中每一层都是满的,除最后一层,即叶子结点只可能存在于(假如深度为n) 最后一层n和n-1 层,且最后一层严格按照最左边的子树开始填) a 左边为一颗完全二叉树,右边为一个数组 b 圆圈中的数字表示树中每个结点存储的值 c 结点上方的数字 表示对应的数组下标 d 数组上下连线表示父子关系,且父... 阅读全文
posted @ 2014-03-25 00:16 Seven++ 阅读(460) 评论(0) 推荐(0) 编辑