
算法专题
Hiro · ZHAO
这个作者很懒,什么都没留下…
展开
-
算法详解之狄克斯特拉算法
上一篇文章,我们了解了广度优先搜索算法(BFS),BFS主要用来解决图的可达路径验证和最小路径问题,即从一个顶点A到另一个顶点B,是否有可达路径,如果有那么求出其到达的最少步骤。那么这里的最短路径就如果加上时间或者其他元素来表示的话,真的就是最短的吗?这里,我们不妨将达到各个顶点的边加上一个花费时间来修饰,这里用来修饰边的元素,我们称之为权重,加上权重的边即为加权边,如下图所示:还是上一篇文...原创 2019-11-22 18:27:24 · 715 阅读 · 0 评论 -
算法详解之广度优先搜索算法
算法简介广度优先搜索算法(Breadth First Search,BFS),又称为宽度优先搜索, 是用于图的一种简单遍历算法。它并不考虑结果的可能位置,彻底的搜索整张图,直到找到结果为止,是一种盲目搜索算法。BFS用于解决两个问题:判断从A点到B点是否有可达路径。从A点出发到B点的最短路径(这里的最短路径是指经过的步骤最少)。...原创 2019-11-21 15:19:13 · 2516 阅读 · 0 评论 -
算法详解之二分查找算法
二分查找算法算法思想二分查找又称折半查找,其算法核心思想是对一组有序的数据集不断的进行对半分隔,并检查每个分区的中间元素是否为被查找的目标元素。适用前提在上面的定义中,我们知道二分查找算法只能适用于有序数据集,如果数据集为无序的,那么算法将失效。时间复杂度二分查找算法的时间复杂度与有序数据集的元素个数有关,假设有序数据集有 n 个元素,其时间复杂度为:O(log2n)O(\log...原创 2019-11-19 14:12:09 · 480 阅读 · 0 评论 -
算法详解之选择排序算法
选择排序算法思想选择排序 是一种简单直观的排序算法,原创 2019-11-19 15:33:22 · 363 阅读 · 0 评论 -
算法详解之快速排序算法
算法思想快速排序 采用 “分而治之” 的策略:使用 基准值 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都要小于基准值,另外一部分的所有数据都要大于基准值。然后按此方法对这两部分数据进行快速排序,整个排序过程可以 递归 进行,以此达到整个数据集变成有序序列。算法步骤从数据集中挑选一个元素,我们成为 “基准值”(pivot);重新排序数列,所有小于基准值的元素移动...原创 2019-11-19 18:26:45 · 499 阅读 · 0 评论