Published on2017年5月26日基础算法与数据结构 目录数据结构算法(更新至2017.5.9) 最前面贴一个普林斯顿的算法课程,用的教材就是《算法(第4版)》,推荐。 $1 总GitHub地址: (如果发现有错误,或者您有更好的表述方法,欢迎pull,当然更欢迎...
Published on2017年5月8日基础算法与数据结构(十五) 数学数据结构算法数学这个话题实在很宽泛,本人水平难以企及。但是最近一年,深感数学之于计算机学科的重要性。聊列此提纲,便于查阅和学习。前人之述备矣,网络可以解决一切。 数论部分 数论的题目,感觉看着基础概念有的小学就...
Published on2017年5月6日基础算法与数据结构(十四) 动态规划数据结构算法动态规划转帖 说实话,这个话题我也没有这个水平写,转个帖吧 转自知乎 $1 问1 动态规划是个什么鸟蛋? 答:动态规划是一种通过“大而化小”的思路解决问题的算法。区别于一些固定形式的算法,如二分法,宽...
Published on2017年5月4日基础算法与数据结构(十三) 快速排序数据结构算法排序快速排序本节所有图片均选自 https://algs4.cs.princeton.edu/23quicksort/ 快速排序 今天讲述的是一般语言自带的模板排序算法也是应用最广泛的排序算法— 快速排序。...
Published on2017年5月3日基础算法与数据结构(十二) 简单排序算法数据结构算法排序简单排序排序算法 今天开始,将进入一个新的领域,各种各样的排序算法。 排序算法可以用一本TAOCP分册的篇幅来讲述,这里肯定不能全部讲到。 今天主要来写一点简单基础的排序算法。 排序算法的时间复杂度 ...
Published on2017年5月2日基础算法与数据结构(十一) 二分图匹配数据结构算法图二分图匹配匈牙利算法二分图匹配概述 首先是什么二分图? 有一个无向图G = (U ∪ V, E) ,所有的顶点可以划分为U,V两个不相交的顶点集,那么就是一个二分图。 二分图的最大匹配就是找到两个集合可以通过边相连且...
Published on2017年5月1日基础算法与数据结构(十) 最大流最小割数据结构算法图最大流最小割流网络的基本概念和性质 1. 定义:流网络G = (V, E)是一个有向图,图中每条边有一个非负的容量值c,不会有一条边是另一条边的反向边(即不存在u->v 和 v->u同时存在)。且存在一个源点和一...
Published on2017年4月30日基础算法与数据结构(九) 最短路径问题数据结构算法图最短路径最短路径问题 首先定义最短路径是什么。最短路径就是在有权图中,从顶点s到顶点t的路径中权重最小的那条路。 同样,由于可能出现一点到另一点相同权重的路径,所以最短路径并不是唯一的。 本章节讨论有向...
Published on2017年4月27日基础算法与数据结构(八) 最小生成树与并查集数据结构算法图最小生成树并查集什么是最小生成树? 在图G上,如果一个强连通图上的每条边上都有一个权重值,权重值可以是一个负数或零。那么一定可以找到一个无环边子集能够把这个图上的所有的点能够连接起来。 这个五环边子集的权重和如果是...
Published on2017年4月26日基础算法与数据结构(七) 拓扑排序数据结构算法图拓扑排序什么是拓扑排序? 拓扑排序和其他排序算法不同,它主要是给有向无环图中所有结点的一种线性排序。 依据什么排序呢?如果有一条从u指向v的边,那么u在排序结果中一定会在v前面。正因如此,所有拓扑排序只对有...