算法
文章平均质量分 93
Alfheim_Cy
宇宙论存在虚无主义者
展开
-
[算法导论笔记]--二叉搜索树
定义 所谓二叉树。字如其名,就是这样的一棵树。对于任何结点,它最多只能有两个孩子。我们称作left和right. 对于每个结点而言,其内部存储三个指针,分别指向parent(后文以p代替)、left child、right child. 如下所示,即为二叉树的基本单元 一棵二叉搜索树具有的性质是,对于任意节点x,其left child和right child满足以下关系 (a)...原创 2019-04-26 17:15:25 · 345 阅读 · 0 评论 -
[算法导论笔记]--红黑树
一.什么是红黑树 红黑树是一棵二叉搜索树,其在每个结点上增加了一个存储位来表示颜色,可以是红(red)或者黑(black)。通过任何一条从"根到叶子的简单路径"上的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的。红黑树是一种平衡二叉树。 红黑树的基本性质 (1)每个结点要么是红色的,要么是黑色的(废话..) (2)根结点是黑色的 (3)叶子结点是黑色的(也可...原创 2019-04-27 19:50:41 · 262 阅读 · 0 评论 -
[算法导论笔记]--最小生成树
最小生成树的定义 假定有一个连通无向图,其中是节点集合,表示节点间的边的集合,对于每条边,具有权重.这里希望找到一个无环子集,既能够将所有节点连接起来,又具有最小的权重和。我们就称之为一个最小生成树。 解决最小生成树问题的算法,常见的为Kruskal算法和Prim算法。如果使用普通的二叉堆,那么可以很容易地把这两个算法的时间复杂度限制在O(ElogV)数量级内。但是如果使用斐波那契堆,则Pri...原创 2019-05-08 16:22:28 · 671 阅读 · 0 评论 -
[算法导论笔记]--单源最短路径
本文所贴示的伪代码均来源《算法导论》,本文只是对其中《单源最短路径》章节的简单总结,许多数学证明过程已忽略。 前言 最短路径的定义:给定一个图G=(V,E),希望找到从给定源节点s∈V 到每个结点v∈V 的最短路径。 单源最短路径可以用来解决许多其他问题,包括: 1、单目的地最短路径问题:找到从每个结点v到给定目的结点t的最短路径,如果将图的每条边的方向翻转过来,就可以将这个问题转换为单源...原创 2019-05-09 13:23:21 · 1296 阅读 · 0 评论 -
[算法导论笔记]--字符串匹配与KMP算法
字符串匹配的形式化定义:假设文本是一个长度为n的数组T[1,2…n],而模式是一个长度为m的数组P[1,2…m],其中m<=n,进一步假设P和T的元素都来自一个有限的字母集Σ的字符,例如Σ={0,1}或者Σ={a,b…z},字符数组P和T通常称为字符串。 如下图所示,如果0<=s<=n-m,并且T[s+1…s+m]=P[1…m],那么称模式P在文本T中出现,并且偏移为s。如果P...原创 2019-05-14 11:05:07 · 476 阅读 · 0 评论 -
[算法导论笔记]--所有结点对的最短路径问题
本文所贴示的伪代码均来源《算法导论》,本文只是对其中《所有结点对的最短路径问题》章节的简单总结,许多数学证明过程已忽略。 对于给定有向图G=(V,E)理论上,我们可以使用|V|次单源最短路径算法来解决所有结点对之间的最短路径问。但除此之外,我们可以利用动态规划来解决此问题(因为一条最短路径的子结构也包含了最短路径). 一、基础解法 最短路径的结构: 对于有向图G=(V,E)的所有结点对的最...原创 2019-05-10 13:09:05 · 2117 阅读 · 0 评论 -
浅谈动态规划问题的优化
动态规划(Dynamic programming)是一种常见而具备很大开发潜力的算法,若要追奔朔源,所谓的动态规划其实就是“借助表格”来记录过去的“状态”,以减小探索未来状态过程中不必要的重复求解步骤(实际上programming在这里就是指表格,而不是编程...).至于该在什么时候用动态规划,这里推荐LeetCode123. 买卖股票的最佳时机 III的题解 “一个通用方法团灭 6 道股票问...原创 2019-07-03 15:14:30 · 879 阅读 · 0 评论 -
浅谈回文串问题
回文串问题是字符串类型的题目中常见的一类。在绝大多数情况下,但凡涉及字符串问题都对“暴力算法”以及dfs等形式不太友好,常见的解决思路有动态规划,而除此之外,利用自动匹配机的性质,大牛们又发明了巧妙而高效的算法。本文在涉及“回文串类型问题”的解法之上,主要罗列一些常见的解决思路。 最粗暴的解法:暴力法O(N^3) 首先,可能大多数人都会想到利用回文串的性质,即S = reverse(S)...原创 2019-07-04 17:27:32 · 1496 阅读 · 0 评论