Avatar notebook default
10篇文章 · 6618字 · 16人关注
  • Resize,w 360,h 240
    Swift之堆排序

    树 在介绍对排序之前,先介绍“树”的相关概念!树:指不包含回路的连通无向图。有以下一些特性: 一棵树中的任意两个节点有且仅有唯一的一条路径连通;...

  • Resize,w 360,h 240
    Swift最短路径之Bellman-Ford和Bellman-Ford的队列优化算法

    在讲Bellman-Ford之前先介绍另一种存储图的方法:邻接表。 邻接表 先上数据,以下是一个包含4个顶点,5条边的图。n = 4(顶点编号为...

  • Swift最短路径之Dijkstra(单源最短路)算法

    Dijkstra“单源最短路”,是指指定一个点(源点)到其余各个顶点的最短路径。例如:求下图中的1号顶点到其他顶点的最短路径。 与上文中的Flo...

  • Swift最短路径之Floyd-Warshall算法

    Floyd-Warshall算法,简称Floyd算法,用于求解任意两点间的最短距离。如下图,表示一个用邻接矩阵表示的图,如何求任意两点之间的距离...

  • Swift之图的遍历

    图 图就是由一些小圆点(称为顶点)和连接这些小圆点的直线(称为边)组成的。下图是一个常见的图。 如何存储一个图呢。我们可以用一个二维数组表示,如...

  • Swift之深度优先搜索和广度优先搜索

    深度优先搜索 深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。在深度优先搜索中,对于最新发现的顶点,如果它还有以此为起点而未探测到的边,就沿...

  • swift&C双语版算法之队列、栈、链表

    队列 队列是一种特殊的线性结构,它只允许在队列的首部(head)进行删除操作,这称为“出队”,而在队列的尾部(tail)进行插入操作,这称为“入...

  • swift&C双语版算法之快速排序

    快速排序 快速排序的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边...

  • swift&C双语版算法之冒泡排序

    冒泡排序 冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。冒泡排序的核心部分是双重嵌套循环,时间复杂度是O(n...

文集作者