1、小堆:
堆的构造,i>数组直接生成堆(向下调整),iii>插入创建堆(向上调整);
(1)、怎么实现一次调整?
找到最后一个非叶子结点,n/2-1;一直往下调整即可!
(2)堆排----->优先级队列
堆的删除,只能是堆顶元素,再拿最后一个元素补充上去。在向下做一次调整。形成新的堆结构(满足堆的性质),将删除的数字输出就是堆排。
小堆:根(父)小于左右结点;最小的数字先出;
大堆:根(父)大于左右结点;最大的数字先出; 因而,进行堆排是就是优先级队列!
2、线索二叉树的查找父结点图形解释
利用空指针指向前驱、后继结点
3、编程时const一些注意
(1)、在C++中,当我们传的是常量时,引用接收时,形参必须const类型接受,否则出错!
常量必须常引用接受。
例:int find(32); int find(const int &value);
(2)、typedef void *IP;
const IP m;怎么理解?
因为IP是数据类型,const和数据类型可以互换位置,
const IP m; <==> IP const m; 即void *const m; m是一个指针,其指向不能更改,其指向的空间数据可以更改!!!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。