算法与数据结构
文章平均质量分 74
遇见一只执着的猴子
这个作者很懒,什么都没留下…
展开
-
Floyd算法
Floyd算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,被用于计算图中任意两点间的距离。算法的时间复杂度为O(N3),空间复杂度为O(N2)。算法思想 通俗的语言来描述,即首先我们的目标是寻找从点i到点j的最短路径,而从任意节点i到任意节点j的最短路径不外乎2种可能,要么直接从i到j,要么...原创 2017-08-29 10:51:24 · 333 阅读 · 0 评论 -
Dijkstra算法
Dijkstra算法Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,即计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。注意该算法要求图中不存在负权边。算法描述在无向图 G=(V,E) 中,要求v0到其余各顶点的最短距离,这里将图中的顶点在计算过程中分为已确定最短路径的顶点集合(T),和目前并不确定最短路径的顶点原创 2017-08-29 11:26:16 · 255 阅读 · 0 评论 -
图解排序算法
最近看数据结构的一些知识,有些简单的算法几乎忘差不多了。可能很少去研究,去思考,有的东西就会忘得很快,过一段时间归纳下就会清晰很多。于是还是以笔记的形式。排序算法说多不多,常用的基本就那么几种,简单复杂的都有。有的简单,但时间复杂度高,有的可能复杂些,但是效率高。以下说说这些算法(通篇例子以升序为例):目录01.冒泡排序02.简单选择排序03.直接插入排序04.希尔排序...原创 2019-10-16 16:33:08 · 1074 阅读 · 0 评论