SF
小超说
小超说
注册登录
关注博客
注册登录
主页
关于
RSS
图解:最短路径之如何理解“松弛”or“放松”?
小超chao
2020-07-17
阅读 5 分钟
2.6k
最短路径问题的目的是找到从一个顶点到达另一个顶点的成本最小的路径。最短路径算法被广泛地应用于解决各种复杂的问题,比如在地图中寻找两个地点之间的最短路径,如何在网络连接中为路由器寻找最短的传输路径等等。为了实现最短路径算法,人们发明了一系列的算法,比如:Dijkstra算法与Bellman-Ford算法。但是这些算法...
图解:最小生成树(Kruskal算法与Prim算法)
小超chao
2020-07-16
阅读 4 分钟
5.6k
这是图算法的第四篇文章 图解:如何实现最小生成树文章目录:1.概念和性质2.思路探索3.Kruskal算法4.Prim算法5.代码实现1.概念和性质今天我们考虑的模型是加权无向图,问题是如何获取它的一幅最小生成树!首先,我们给出最小生成树的定义:图的生成树是它的一棵含有其所有顶点的无环连通子图。一幅加权图的最小生成树(M...
图解:有向环、拓扑排序与Kosaraju算法
小超chao
2020-07-15
阅读 11 分钟
3.4k
图算法第三篇 图解:有向环、拓扑排序与Kosaraju算法 首先来看一下今天的内容大纲,内容非常多,主要是对算法思路与来源的讲解,图文并茂,希望对你有帮助~ 1.有向图的概念和表示 概念 有向图与上一篇文章中的无向图相对,边是有方向的,每条边所连接的两个顶点都是一个有序对,它们的邻接性都是单向的。 一幅有方向的图...
图解:深度优先搜索与广度优先搜索
小超chao
2020-07-11
阅读 12 分钟
3.3k
图算法第二篇 深度优先搜索与广度优先搜索及其应用 约定:本文所有涉及的图均为无向图,有向图会在之后的文章涉及 1.图的存储方式 我们首先来回顾一下图的存储方式:邻接矩阵和邻接表。为了实现更好的性能,我们在实际应用中一般使用邻接表的方式来表示图。 具体的实现代码为: {代码...} 接下来,我们会首先介绍深度优...
图解:什么是“图”?
小超chao
2020-07-08
阅读 3 分钟
3.3k
这个问题是基于一个现实生活中的事例:河中心有两个小岛。小岛与河的两岸有七条桥连接。在所有桥都只能走一遍的前提下,如何才能把这个地方所有的桥都走遍?
三十张图助你看清红黑树的前世今生
小超chao
2020-07-06
阅读 9 分钟
2.7k
在《算法》(第4版)中,红黑树的实现直接采用了左倾红黑树 (LLRB) 的方法,左倾红黑树可以用更少的代码量实现红黑树,在本文中我也使用他的方法理解。相比于经典红黑树,增加了一个限制红节点一定是父节点的左子节点,但是实现却容易不少
一文彻底掌握二叉查找树(多组动图)
小超chao
2020-07-02
阅读 11 分钟
1.5k
这是查找算法系列文章的第二篇,助你彻底掌握二叉查找树在数据结构中,二叉查找树无疑是极为重要的,但是初学者理解起来却有些吃力,网上的文章讲得也不太全面。本文希望结合多组动图、图片以及详细的代码实现,力争让大家完全掌握二叉查找树(BST)的各种概念和操作。 相信你看完肯定会有收获。
查找算法系列文(一)二叉树基础
小超chao
2020-06-27
阅读 3 分钟
1.5k
微信公众号:小超说这是查找算法系列文章的第一篇,助你快速入门二叉树 什么是树(Tree)? 我们首先来看一些图片: 其中,第一、二、四个都是树,第三个不是。树的特点很明显吧! 其中每个元素叫做“节点”;用来连接相邻节点之间的关系,我们称之为“父子关系”。例如在图一中,A节点是B节点的父节点,B节点是A节点的子结点,...
线性表(数组、链表、队列、栈)详细总结
小超chao
2020-06-27
阅读 9 分钟
2.2k
线性表是一种十分基础且重要的数据结构,它主要包括以下内容: 数组 链表 队列 栈 接下来,我将对这四种数据结构做一个详细的总结,其中对链表实现了十几种常见的操作。希望对你有所帮助。 1.数组 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。注意点:①.数组是一种线性表...
一文讲透十大经典排序算法
小超chao
2020-06-26
阅读 12 分钟
1.8k
我想大家学习算法之旅的开端就是各种排序算法吧,的确,排序算法广泛的应用性以及它的简洁基础等性质是初学者的不二之选,那今天我就带着你复习回顾以下各种经典的排序算法吧!希望对你有所帮助!