Anawaert Blog

与你分享不一样的世界

Dijkstra 算法是如何找到最短路径的

在图中获取某个顶点到其它(所有)顶点的最短路径及其长度

Dijkstra 算法是一种求解带权图单源最短路径的贪心算法,适用于边权均为非负数的有向图或无向图。本文将以一个非负权边无向联通图为例,来演示 Dijkstra 算法是如何找到某个顶点到其它所有顶点的最短路径的。

快速手算 KMP 算法中模式串的对应数组

获取 next 与 nextval 数组

KMP 是一种充分利用已匹配信息,从而避免主串指针回退的非暴力匹配算法,是数据结构与算法课程中的典型范例。本文将从应试计算的角度出发,用较短的篇幅来分享如何快速计算 KMP 算法中模式串的 next 数组与 nextval 数组

探索二叉树(上)

以直观的方式探索二叉树的结构和遍历方法,并使用 C++ 进行实现

众所周知,二叉树是一种特殊的树形结构。它与链表类似,基本单元是节点,而每个节点都包含值、左子节点的引用和右子节点的引用。二叉树的特点是每个节点最多只有两个子节点,并且二叉树中的子树有左右之分。本文将从二叉树的简单概念入手,介绍其基本术语、常见种类,并 …