图的通用结构、遍历与经典图算法
统一图的点边结构,整理 BFS、DFS、拓扑排序、最小生成树和 Dijkstra 最短路。
这个分类下共 16 篇文章。
统一图的点边结构,整理 BFS、DFS、拓扑排序、最小生成树和 Dijkstra 最短路。
介绍基于 HashMap 和数组的并查集实现,并应用于朋友圈和岛屿数量问题。
从路灯、活动安排、字典序拼接、金条分割和项目投资等问题理解贪心策略。
用统一的信息抽象解决平衡树、满二叉树、搜索二叉树、树直径等递归问题。
以队列为基础,串联二叉树层序遍历、序列化、N 叉树转换和最大宽度等问题。
整理二叉树递归与非递归遍历、递归序,以及环形链表和相交链表的判断方法。
用快慢指针解决链表中点、回文判断、分区和带随机指针链表复制等经典问题。
介绍 Trie、计数排序和基数排序,并比较不同排序算法的稳定性与适用场景。
通过反向索引表扩展堆的能力,并用堆解决最大线段重合问题。
从完全二叉树和大根堆的性质出发,整理建堆、堆调整与堆排序的实现思路。
从荷兰国旗问题理解三路 partition,以及快速排序背后的分治思想。
使用前缀和与归并排序统计落在给定区间内的子数组累加和。
以归并排序为主线,整理分治思想、小和、逆序对和 BiggerThanTwice 等问题的统一解法。
总结链表、栈、队列的基本特性、两种实现方式以及相互转换的经典问题。
梳理异或运算的性质,并用它解决交换变量和数组统计等基础算法题。
从标准二分查找出发,整理二分思想在特殊无序数组问题中的应用。