
数据结构
haozhugogo
这个作者很懒,什么都没留下…
展开
-
java数据结构----堆
1.堆:堆是一种树,由它实现的优先级队列的插入和删除的时间复杂度都是O(logn),用堆实现的优先级队列虽然和数组实现相比较删除慢了些,但插入的时间快的多了。当速度很重要且有很多插入操作时,可以选择堆来实现优先级队列。2.java的堆和数据结构堆:java的堆是程序员用new能得到的计算机内存的可用部分。而数据结构的堆是一种特殊的二叉树。3.堆是具有如下特点的二叉树: 3.1.它是完全二叉树,也就是说除了树的最后一层节点不需要是满的,其他的每一层从左到右都必须是满的。 3.1.1.完全二叉转载 2020-06-24 17:03:40 · 475 阅读 · 1 评论 -
广度优先搜索(BFS)
广度优先搜索(BFS)广度优先搜索在进一步遍历图中顶点之前,先访问当前顶点的所有邻接结点。a .首先选择一个顶点作为起始结点,并将其染成灰色,其余结点为白色。b. 将起始结点放入队列中。c. 从队列首部选出一个顶点,并找出所有与之邻接的结点,将找到的邻接结点放入队列尾部,将已访问过结点涂成黑色,没访问过的结点是白色。如果顶点的颜色是灰色,表示已经发现并且放入了队列,如果顶点的颜色是白色,表...转载 2019-05-17 16:26:53 · 215 阅读 · 0 评论 -
深入理解Java PriorityQueue
原文地址:https://www.cnblogs.com/CarpenterLee/p/5488070.htmlPriorityQueueJava中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对PriorityQueue建立清晰而深入...转载 2019-05-27 13:56:06 · 142 阅读 · 0 评论