![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode笔记
文章平均质量分 57
数据结构刷题笔记
weixin_47236538
这个作者很懒,什么都没留下…
展开
-
数据结构Graph的深度优先遍历DFS和广度优先遍历BFS
图可以看做是顶点和边相连组成的结构.根据边是否有方向,分为有向图和无向图 图的实现方式 一般通过邻接矩阵和邻接表来表示图 邻接链表 Java 代码实现 public class Graph { ArrayList<ArrayList<Integer>> graph; public Graph(int v){ graph = new ArrayList<>(); for (int i = 0; i < v; i++原创 2021-12-25 22:15:03 · 634 阅读 · 0 评论 -
heap堆在LeetCode中的应用
Heap堆 堆的本质是用Array来是新的完全二叉树,这个数的根节点代表整个堆里面的最大值或者最小值,根据是最大值还是最小值分为大根堆和小根堆,根节点的左右子树同样是大根堆或者小根堆。 一般来说在,堆的常用api有以下三个: peek() 查看堆顶元素 O1 poll()拿出堆顶元素,O(logN) offer 添加元素 O(logN) 优先队列和堆 在Java 中有一个集合为PriorityQueue,它底层使用的就是堆 以下讨论大根堆的建立过程。 插入操作 在堆的最后建立一个节点 将数值赋原创 2021-12-25 21:09:27 · 517 阅读 · 0 评论