- 博客(5)
- 收藏
- 关注
转载 欢迎使用CSDN-markdown编辑器.
欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I
2018-01-05 19:35:23 143
原创 快速排序
最坏情况Θ(n2)\Theta(n^2),但通常是实际排序应用中最好的选择,因为平均性能非常好,期望时间复杂度为Θ(nlgn)\Theta(n\lg n),而且隐含的常数因子非常小。另外,还能够进行原址排序,甚至在虚存环境中很好地工作。快速排序的描述-分解: 数组A[p..r]被划分为两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每一个元素都是小于等于A[q
2017-12-27 17:15:32 101
原创 分治法与归并排序
分治法分治模式 分解: 原问题为若干字问题,这些子问题是原问题的规模较小的实例。 解决: 这些子问题,递归地求解各子问题。然而,若子问题的规模足够小,则直接求解。 合并: 这些子问题的解成原问题的解。 归并排序操作如下 分解: 分解待排序的那个元素的序列成各具n/2个元素的两个子序列。 解决: 使用归并排序递归地排序两个子序列。 合并: 合并两个已排序的子序列以产生排序的答案。 MERGE_SORT
2017-12-27 16:41:35 160
原创 循环不变式与插入排序
排序问题 输入:n个数<a1,a2,...,an><a_1,a_2,...,a_n> 输出:输入序列的一个排列(重新排序)<a′1,a′2,...,a′n><a'_1,a'_2,...,a'_n>,使得a′1≤a′2≤...≤a′na'_1\leq a'_2\leq ...\leq a'_n插入排序伪代码 INSORTION-SORT(A) for j <-- 2 to length[A]
2017-12-27 14:00:40 236
原创 主元素问题
主元素问题判断n个元素的数组A中是否有某个元素出现超过⌊n/2⌋\lfloor n/2\rfloor次,请写出伪代码以及分析时间复杂度算法1(大一程设):比较每一元素,为每一个元素计数,Θ(n2)\Theta(\rm{n^2}) 算法2(大二数据结构):排序,一次扫描计数,Θ(nlogn)\Theta(\rm nlogn)算法3(算法课):分治,分两段分别找,合并时扫描计数,Θ(nlogn)\The
2017-12-26 19:58:19 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人