摘要:
容器此处还可以用 hashMap, 其中set既可以表示里面的边又可以表示入度数, 但是此处只需要知道入度数就可以了. 之前还有用 int [] ArrayList[] 来表示的同set, 因为坐标可以表示map中的键, 容器内元素可以表示值. 阅读全文
摘要:
copy 的题多用hashmap, 难点在于如何让遍历, 如何构建新的节点间的关系. An intuitive solution is to keep a hash table for each node in the list, via which we just need to iterate 阅读全文
摘要:
矩阵的bfs, 套路一致,从外向内, 很easy 构造类, 遍历矩阵建立图 bfs要点在于如何建图, 是否建类, 建比较器, 建方向容器, 建走过的路的存储器(数组, 或者set, list) 如何遍历(堆不空?), 遍历到内部的点时判断是否符合题意(边界, 走过), 再考虑题意, 判断当前的点是否 阅读全文
摘要:
感悟: 遍历图上的点先想到宽度优先搜索, 有很多模板 5.9: 图、节点 adj.get(edge[0]).add(edge[1]); adj.get(edge[1]).add(edge[0]); }), set的size==1当作叶节点的判断标准.加入节点存储器list中, 用while-loop 阅读全文
摘要:
思路 先修课程是拓扑排序的经典应用, 这里相当于找有向图是否有环, 如果有环的话拓扑排序能遍历到的节点将少于图的节点. 这里我们建立一个图, 用一个数组记录每个节点的入度. 对图进行拓扑排序 复杂度 时间O(V+E) 空间 O(V) 有向图: 入度和边, 用什么容器, 怎么生成图, 根据什么入队, 阅读全文