DraonAbyss
DraonAbyss
全部文章
算法设计与分析
C++(3)
CodeForces(23)
LeetCode(3)
函数语言程序设计(40)
安全编程(1)
密码学基础(17)
无线网络安全(5)
笔记(16)
编译原理与技术(16)
网络安全数学基础(3)
计算机逻辑基础(8)
题解(37)
归档
标签
去牛客网
登录
/
注册
Dragon Abyss
全部文章
/ 算法设计与分析
(共22篇)
第2章 算法基础
来自专栏
2.1 插入排序 排序问题 输入:n个数的一个序列<a1,a2,……,an>。 输出:输出序列的一个排列<a1',a2',……,an'>,满足a1'≤a2'≤……≤an'。 希望排序的数称为关键词。 伪代码 过程 INSERTION-SORT(A) INSERTION-SOR...
2021-11-15
0
430
第4章 分治策略
来自专栏
4.1 最大子数组问题 使用分治策略的求解方法 伪代码 过程 FIND-MAX-CROSSING-SUBARRAY(A,low,mid,high) //接受数组A和下标low,mid,high为输入 //返回一个下标元组跨越中点的最大子数组的边界 //并返回最大子数组中值的和 FIND-MAX-C...
2021-11-15
0
445
第6章 堆排序
来自专栏
6.1 堆 伪代码 过程 PARENT(i) //父节点的下标 PARENT(i) return ⌊i/2⌋ 伪代码 过程 LEFT(i) //左孩子的下标 LEFT(i) return 2i 伪代码 过程 RIGHT(i) //右孩子的下标 RIGHT(i) return 2i+1 6.2 ...
2021-11-15
0
315
第8章 线性时间排序
来自专栏
8.1 排序算法的下界 插入排序算法作用域包含三个元素的输入序列的决策树情况 最坏情况的下界 在决策树中,从根节点到任意一个可达叶结点之间最长简单路径的长度,表示的是对应的排序算法中最坏情况下的比较次数。 因此,一个比较排序算法中的最坏情况比较次数就等于其决策树的高度。 同时,当决策树中每种排列都...
2021-11-15
0
416
第16章 贪心算法
来自专栏
16.1 活动选择问题 伪代码 递归贪心算法 //输入:两个数组s和f,表示活动的开始和结束时间 //输入:下标k指出要求解的子问题S[k],以及问题规模n //返回:S[k]的一个最大兼容活动集 //假定输入的n个活动已经按结束时间的单调递增顺序排列好 RECURSIVE-ACTIVITY-SEL...
2021-11-15
0
801
第9章 中位数和顺序统计量
来自专栏
9.1 最小值和最大值 伪代码 过程 MINIMUM(A) MINIMUM(A) min = A[1] for i = 2 to A.length if min > A[i] min = A[i] return min 同时找到最大值和最小值 事实上,我们只需...
2021-11-15
0
565
第15章 动态规划
来自专栏
动态规划方法通常用来求解最优化问题(optimization problem)。 我们通常按如下4个步骤来设计一个动态规划算法: 动态规划算法求解问题的基础。 刻画一个最优解的结构特征 递归地定义最优解的值 计算最优解的值,通常采用自底向上的方法 维护一些额外信息,以便用来构造一个最优解 利用...
2021-11-15
0
554
Greedy Algorithms 贪婪算法
来自专栏
Chapter 16 Greedy Algorithms 贪婪算法 Greedy Algorithms 与动态规划类似,但方法更简单 –也用于优化问题 想法:当我们有选择的时候,现在就做一个看起来最好的 –做出局部最优选择,希望获得全局最优解决方案 贪婪算法并不总是产生最优解 当问题...
2021-11-14
0
676
Merge Sort 合并排序
来自专栏
Merge Sort Master Theorem Divide-and conquer paradigm Other algorithms by D&C 合并排序 Merge Sort 合并排序A[1..n] 如果n=1,则完成。 对A[1..n/2]和A[n/2+1..n]进行递归排...
2021-11-13
0
787
Huffman 哈夫曼
来自专栏
哈夫曼编码 Huffman Codes 广泛使用的数据压缩技术 假设数据是一个字符序列 寻找存储数据的有效方法 想法: –使用字符出现的频率来建立表示每个字符的最佳方式 二进制字符代码 –用二进制字符串唯一地表示一个字符 定长码 Fixed-Length Codes 例如:...
2021-11-13
0
578
首页
上一页
1
2
3
下一页
末页