用了几个月磕磕绊绊的总算把《算法导论》一书看完了,在此写篇博客总结一下学习到的知识。 首先先放上《算法导论》的思维导图: 由于本人的理解能力有限,故部分较难懂的内容没有加入到该思维导图中。 1.排序 排序问题是我们日常生活中经常遇到的一个问题,因此算法导论也把排序作为整个算法介绍 ...
最近又抽空读了一遍 算法导论 ,关于图的内容贯穿了多个章节 比如在动态规划一章埋了无权最短路径的伏笔,后面才专门讲 ,适用条件各异,而且都有证明过程。 如果不打算熟记证明,仅仅是应用,遇到具体场景再去回忆适用于哪种算法不太方便。 以下内容以手头的机械工业出版社基于原书第 版的译本整理了一下,便于速查。 不包含思考题 标注为 的章节和习题内容。 符号定义 一般地, 图G V, E ,其中V代表顶点集 ...
2020-03-02 00:57 2 549 推荐指数:
用了几个月磕磕绊绊的总算把《算法导论》一书看完了,在此写篇博客总结一下学习到的知识。 首先先放上《算法导论》的思维导图: 由于本人的理解能力有限,故部分较难懂的内容没有加入到该思维导图中。 1.排序 排序问题是我们日常生活中经常遇到的一个问题,因此算法导论也把排序作为整个算法介绍 ...
1. 写在前面 本篇博文是学习算法导论的第一次记录,主要想介绍如何去证明算法的正确性;如何去评判一种算法的好坏;以及如何去改进算法。 2. 从插入排序说起 插入排序(insert-sort)是一种十分常见的算法,我们在生活中可能就经常在使用——玩扑克。考虑我们抓牌时的场景。首先,你的右手 ...
目录 1 并查集、图相关算法 1.1 并查集 1.1.1 并查集基本结构和操作 1.1.2 例题 1.2 图相关算法 1.2.1 图的概念 1.2.2 图的表示方法 ...
排序算法是最基础的一类算法。主要排序算法包括选择排序、插入排序、冒泡排序、合并排序、堆排序和快速排序。把这些排序算法全部实现一边,再把《算法导论》对应章节后面的习题做一遍,确实是系统学习算法的一个不错的开端。 选择排序 选择排序的想法很简单,把需要排序的数组看成一堆扑克牌:先查一遍,抽出最小 ...
heap的定义:如果数组a[1,....n]满足:a[i]>a[2*i] && a[i]>a[2*i+1],1<=i<=n/2,那么就是一个heap,而且是ma ...
【例题传送门:caioj1461】 【EXKMP】最长共同前缀长度 【题意】给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](1<=i<=le ...
重读<算法导论> 记得多年前学数据结构的时候作为教材的延伸读物我拜读了<算法导论>,当时有选择的读了大约2/3的东西,只学理论和算法实在枯燥,看书之余动手写了其中的一些算法,但是由于实在不知道这些知识有什么用处,剩余的1/3大部分是一些具体的理论推导和稍微复杂的算法 ...
CLRS 16.1-3 假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定哪一个活动应使用哪一个教室。 (这个问题也被成为区间图着色(interval-graph coloring)问题。我们可作出一个区间图,其顶点为已知的活动 ...