从一个顶点到达另一个顶点的成本最小的路径。 我们采用一个一般性的模型,即加权有向图。在加权有向图中,每条有向路径都有一个与之关联的路径权重,它是路径中的所有边的权重 ...
从一个顶点到达另一个顶点的成本最小的路径。 我们采用一个一般性的模型,即加权有向图。在加权有向图中,每条有向路径都有一个与之关联的路径权重,它是路径中的所有边的权重 ...
对于符号表,要支持高效的插入操作,就需要一种链式结构。但单链表无法使用二分查找,因为二分查找的高效来自于能够快速通过索引取得任何子数组的中间元素,链表只能遍历(详细描述)。为了将二分查找的效率和链 ...
图是由一组顶点和一组能够将两个顶点相连的边组成。 顶点叫什么名字并不重要,但我们需要一个方法来指代这些顶点。一般使用 0 至 V-1 来表示一张含有 V 个顶点的图中的各个顶点。这样 ...
算法的主题思想: 1.优秀的算法因为能够解决实际问题而变得更为重要; 2.高效算法的代码也可以很简单; 3.理解某个实现的性能特点是一个挑战; 4.在解决同一个问题的多种算 ...
优先队列 许多应用程序都需要处理有序的元素,但不一定要求它们全部有序,或是不一定要一次就将它们排序。很多情况下是收集一些元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大 ...
快速排序是应用最广泛的排序算法,流行的原因是它实现简单,适用于各种不同情况的输入数据且在一般情况下比其他排序都快得多。 快速排序是原地排序(只需要一个很小的辅助栈),将长度为 N 的数组排序 ...
在有向图中,边是单向的:每条边连接的两个顶点都是一个有序对,它们的邻接性是单向的。许多应用都是天然的有向图,如下图。为实现添加这种单向性的限制很容易也很自然,看起来没什么坏处。但实际上这种组合性的 ...