返回

第二百二六章 优先级队列(中)

首页
关灯
护眼
字:
上一章 回目录 下一章 进书架
    第二百二六章 优先级队列(中) (第1/1页)

    对于优先级队列里面的元素,它们遵循两个排序规则:

    1.具有更高优先级的元素先弹出。

    2.如果元素优先级相同,那么就跟队列的性质一样,先进先出。

    怎么来实现它呢?

    一种经典的解决方案是使用一个最小二叉堆。

    二叉堆本质上是一棵完全二叉树,而最小堆,对于它每一个节点,都小于或等于其左子节点和右子节点。

    这就是堆的完全性与有序性。

    杨成很快就了解了这些基本的概念,不过他却面临一个技术方案选型的问题。

    对于很多数据结构,都可以考虑链表或数组来实现。

    这个最小堆,用哪一种方案更好呢?

    经理很快给出了答案。

    “你可以使用数组来实现”。

    “更简洁,而且某些操作的效率会更高些”。

    杨成思索了一段时间,便开始编写代码。

    其实要提供的API就2个,删除最小元素和插入元素操作。

    但是如果要写的高效,还是得费一番功夫的。
    《编程之战》第二百二六章 优先级队列(中)

    正在手打中,请稍等片刻,内容更新后,请重新刷新页面,即可获取最新更新!

    《编程之战》不科学御兽全文字更新,牢记网址:www.bukexueyushou.com
上一章 回目录 下一章 存书签