l 快速排序 对于一个待排序序列,通过一趟排序将它分成两个子序列,其中一个序列内所有元素均小于另外一个序列中的任意一个元素。然后对两个子序列均进行上述的排序。知道最后各个子序列均完成排序。 l 深度优先搜索 是对树和图的一种遍历和搜索算法。每次都扩展新产生的状态。 以树为例,选定初始结点,按深度递增 ...
分类:
其他好文 时间:
2017-11-21 01:00:08
阅读次数:
186
20162326 2017 2018 1 《程序设计与数据结构》第10周学习总结 教材学习内容总结 理解图与有向图、无向图 理解带权图 会应用带权图 理解图的广度优先遍历和深度优先遍历 掌握最小生成树算法 掌握图的实现 无向图的表示方法 邻接表和邻接矩阵 有向图的表示方法 邻接表和邻接矩阵 二者的区 ...
分类:
其他好文 时间:
2017-11-20 01:03:58
阅读次数:
258
20162308 2017 2018 2 《程序设计与数据结构》第11周学习总结 教材学习内容总结 学习目标 图论 学习内容 图论 广度优先算法&深度优先算法 图的遍历 是指从图中的某一个顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。注意到树是一种特殊的图,所以树的遍历 ...
分类:
其他好文 时间:
2017-11-19 12:39:20
阅读次数:
184
我们经常会用到一些算法,而大部分算法过于抽象,记忆起来比较困难,而使用图解可以帮助我们更好地理解和记忆这些算法。 一、深度优先搜索算法(DFS) 深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用 ...
分类:
编程语言 时间:
2017-11-10 21:51:26
阅读次数:
225
深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点, 则选择其中一个作为源 ...
分类:
其他好文 时间:
2017-11-02 22:04:50
阅读次数:
238
DFS(深度优先搜索)解题思路:recursion的思想。(常见题型:当题目要求穷举所有可能性时,多用DFS),解题思路分两步: 1:考虑总共recursion有几层 2:考虑每一层recursion内有多少个case 1.All Subsets Given a set of characters ...
分类:
其他好文 时间:
2017-10-24 13:12:36
阅读次数:
161
宽度优先搜索(BFS)也是搜索的手段之一。它与深度优先搜索类似,从某个状态出发搜索所有可达的状态。 与DFS不同的是搜索的顺序,宽度优先搜索总是先搜索离初始状态近的状态。也就是说,它是按照开始状态 >只需1次转移就可以到达的所有状态 >只需2次转移就可以到达的所有状态 >......,以这样的顺序开 ...
分类:
其他好文 时间:
2017-10-22 20:55:30
阅读次数:
127
转载自http://www.cppblog.com/menjitianya/archive/2016/02/25/212891.html 目录 零、前言 一、引例 1、区间最值 2、区间求和 二、线段树的基本概念 1、二叉搜索树 2、数据域 3、指针表示 4、数组表示 三、线段树的基本操作 1、构造 ...
分类:
编程语言 时间:
2017-10-16 22:15:37
阅读次数:
282
转载自http://www.cppblog.com/menjitianya/archive/2015/10/09/211980.html 目录 一、深度优先搜索 1、DFS 2、基于DFS的记忆化搜索 3、基于DFS的剪枝 1) 可行性剪枝 2) 最优性剪枝 4、基于DFS的A* (迭代加深,IDA ...
分类:
编程语言 时间:
2017-10-16 22:11:40
阅读次数:
215
题目:给定一个含不同整数的集合,返回其所有的子集。 样例:如果 S = [1,2,3],有如下的解:[[3],[1],[2],[1,2,3],[1,3],[1,2],[2,3],[]] 思路:因为此题求所有子集,自然想到用深度优先搜索的方法。如下树,根节点为空集,从根结点开始进行深度搜索。首先寻找到 ...
分类:
其他好文 时间:
2017-10-11 10:40:15
阅读次数:
146