极光 · 数据结构 · 堆排序(大小顶堆)

应用中可以使用【优先队列】予以实现
        在科研部往期研究中,已经实现了更加先进的表达(结构体优先队列)
        导航:极光 · STL库测试 · priority_Queue与Struct
因为思想上类似于【线段树】,采用数组存储树|
        左节点:x*2        右节点:x*2+1
        本体:x        父亲结点:x/2
这里对于几个关键思想予以回答:

        0.关于init中 对小顶堆的生成

        从n/2的位置开始,也就是倒数第二层向上每个结点,都进行一次down操作
        这个时间复杂度是O(n);相较于一个个元素进行插入nlogn快了不少
(元素插入是在尾巴,进行up是logn的时间,因为是树状结构;重复n次)

        1.如何判断结点存在
        父亲结点:/2之后最小=1,如果是int向下取整&

你可能感兴趣的:(ASRC,·,极光科研中心)