课程链接:http://open.163.com/special/opencourse/algorithms.html 第一课:算法分析基础 1.介绍插入排序与归并排序,计算并比较最坏运行时间 2.算法分析重点与渐近分析方法 以下为个人笔记,根据字幕整理 第一课 算法分析 总结 解决问题的方法和方式 ...
分类:
编程语言 时间:
2017-12-24 17:28:20
阅读次数:
266
Bamboo and the Ancient Spell 分析 可能英文读题难度比较大,但是只要看到全大写的 "THE LONGEST COMMON SUBSEQUENCE !"应该就清楚这是考什么的了。 最长公共子序列:可以不连续。序列长度很大时,暴力方法非常费时,这也是一道比较经典的《算法导论》 ...
分类:
编程语言 时间:
2017-12-04 19:11:37
阅读次数:
180
墙裂推荐两个博客: http://blog.csdn.net/iamzky/article/details/22712347 画了图,写的很容易懂,配合《算法导论》服用更佳 http://blog.xlightgod.com/%e3%80%90uoj34%e3%80%91%e5%a4%9a%e9%a ...
分类:
其他好文 时间:
2017-12-02 23:27:53
阅读次数:
294
ISAP全称Improved Shortest Augmenting Path,意指在SAP算法进行优化。SAP即Edmonds-Karp算法,其具体思路是通过不断向残存网络推送流量来计算整个网络的最大流。阅读本文要求掌握网络流的基础概念,不懂的出门左拐算法导论。ISAP的时间复杂度与EK算法一致, ...
分类:
编程语言 时间:
2017-12-02 00:35:30
阅读次数:
255
第一章 算法在计算中的作用 1.1 算法 算法是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或者值的集合作为输出。 对每个输入实例,算法都以正确的输出停机,则称该算法是正确的。 算法的运行时间: $\log{n} < \sqrt{n} < n < n\log{n} < n^2 ...
分类:
编程语言 时间:
2017-11-27 16:55:23
阅读次数:
139
LeetCode148 SortList 题意:给定一个链表,要求用O(n log n) 的复杂度进行排序。 直观的链表归并排序: 快速排序,因为是链表不能用下标快速访问,挖坑发不适用,这里采用《算法导论》中的单向双指针法,end记录边界不采用None截断 ...
分类:
编程语言 时间:
2017-11-25 17:25:29
阅读次数:
125
算法导论第14章 数据结构的扩张 一些工程应用需要的只是标准数据结构, 但也有许多其他的应用需要对现有数据结构进行少许的创新和改造, 但是只在很少情况下需要创造出全新类型的数据结构, 更经常的是通过存储额外信息的方法来扩张一种标准的数据结构, 然后对这种数据结构编写新的操作来支持所需要的应用. 但是 ...
分类:
编程语言 时间:
2017-11-18 15:22:50
阅读次数:
228
算法导论第13章 红黑树 红黑树(red black tree)是许多平衡搜索树中的一种, 可以保证在最坏情况下基本动态集合操作的时间复杂度为O(lgn). 13.1 红黑树的性质 红黑树(red black tree) : 满足下面性质的二叉搜索树: 1. 每个结点是红色的或者黑色的. 2. 根结 ...
分类:
编程语言 时间:
2017-11-15 23:36:34
阅读次数:
322
问题描述: 该问题在算法导论中引申自求解两个DNA序列相似度的问题。 可以从很多角度定义两个DNA序列的相似度,其中有一种定义方法就是通过序列对齐的方式来定义其相似度。 给定两个DNA序列A和B,对齐的方式是将空格分别插入到A和B序列中,得到具有相同长度的对齐后的序列C和D;空格可以插入到任意的位置 ...
分类:
其他好文 时间:
2017-11-12 21:45:02
阅读次数:
150
最长公共子序列问题在算法导论中引申自确定DNA序列相似度的问题:给定两个DNA序列S1和S2,寻找第三个序列S3,要求序列S3中的元素都来源于S1和S2,且在这三个序列中先后顺序相同,但在S1和S2中不要求连续,如果找到这样的S3序列越长,可以认为S1和S2相似度越高。 问题描述: 给定两个序列X= ...
分类:
其他好文 时间:
2017-11-10 13:52:26
阅读次数:
217