弗洛伊德算法图文详解
弗洛伊德算法能够在指定图结构中找到各个顶点之间的最短路径,该算法既适用于无向加权图,也适用于有向加权图。注意,弗洛伊德算法仅允许非环路的路径权值为负数。换句话说,如果图中某个环路的路...
迪杰斯特拉算法图文详解
迪杰斯特拉算法用于在无向加权图或者有向加权图中查找某个顶点到其他顶点的最短路径。注意,迪杰斯特拉算法仅适用于在所有路径权值为非负数的图结构中寻找最小生成树。换句话说,只有图中各个路...
最短路径算法图文详解
图存储结构中,我们将从某一顶点到另一顶点总权值最小的路径称为最短路径。最短路径算法常用于解决以下几类问题: 在指定图结构中,找到某一顶点到另一个顶点总权值最小的路径; 在指定图结构中...
克鲁斯卡尔算法图文详解
连通图中寻找最小生成树的常用算法有2种,分别是普里姆算法和克鲁斯卡尔算法。本节,我们将带您详细了解克鲁斯卡尔算法。和普里姆算法类似,克鲁斯卡尔算法的实现过程也采用了贪心的策略:对于具有...
普里姆算法图文详解
普里姆算法用于在连通图中寻找最小生成树,该算法的实现采用了贪心的策略。连通图指的是各个顶点之间至少存在一条通路的无向图。 对于给定的连通图,普里姆算法寻找最小生成树的过程是: 将图中...
最小生成树算法图文详解
讲解最小生成树之前,您需要先了解什么是生成树。生成树 数据结构中,根据数据之间关系的复杂程度,可以选用线性表、树和图这3种存储结构来有效地存储数据。其中,树和图最大的区别在于:图结构中可...
哈希查找算法图文详解
哈希查找算法又称散列查找算法,是一种在哈希表中查找目标元素的算法。哈希表 哈希表又称散列表,是一种以关联方式存储数据的存储结构。所谓关联方式,哈希表将所有数据集中存储在一整块内存空间...
插值查找算法图文详解
插值查找算法又称插值搜索算法,是二分查找算法的改进版。和二分查找算法相同,插值查找算法也仅适用于有序序列。此外,当有序序列中的元素呈现均匀分布时,插值查找算法的执行效率比二分查找算法...
二分查找算法(折半查找算法)图文详解
二分查找又称折半查找,是一种基于分治思想的快速搜索算法,时间复杂度为o(logn)。二分查找算法只适用于有序序列,换句话说,只有保证序列有序的情况下,才能使用二分查找算法。二分查找算法的基本...
顺序查找算法图文详解
顺序查找(又称顺序搜索、线性搜索等)是所有查找算法中最基本、最简单的一种算法,该算法的时间复杂度为o(n)。顺序查找算法既支持在有序序列中查找目标元素,也支持在无序序列中查找目标元素,该算...