- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 归并和归并排序
归并操作:是将两个有序独立的文件合并成为一个有序文件的过程。归并排序:和快速排序的过程相反,它是两个递归调用(排序子文件)后是一个归并的过程。 快速排序时,先分解成两个子问题后是两个递归调用(排序子文件)的过程。归并操作1 基本的两路归并2 抽象原位归并归并排序1 自顶向下的归并排序2 自底向上的归并排序3 归并排序的性能特征归并排序的链表实现归并排序与快速排序对比1. 归并
2015-03-29 18:22:33 1452
原创 sublime text 3 配置 gcc 编译器
1.安装gcc和sublime text 3下载安装mingw-gcc到默认路径即可2. 修改环境变量将gcc的安装目录 (gcc.exe的上级路径) 添加进环境变量 右键计算机-属性-高级系统设置-环境变量-新建(或编辑)-> 变量名:PATH 变量值:C:\MinGW\bin; 检测是否添加成功,可打开cmd,输入gcc回车后,如果提示gcc: no input fi
2015-03-29 11:18:32 6837
原创 快速排序(3)的应用:选择--用于选出第K小的元素
快速排序(3)的应用:选择–用于选出第K小的元素标签(空格分隔): 排序算法本文描述了一个快速排序的应用,用快速排序快速的选出数据中第k小的文件(元素)。一个与排序有关但又不需要完全排序的应用是找出一组数的中间数的操作。寻找中间元素时选择操作的一个特例,即选择一组数中的第kk个最小元素。一种方法是对数据进行排序,但我们可以使用快速排序的划分过程做的更好。算法过程(寻找第k小的元素)快速排序的划分,
2015-03-18 18:16:02 1318
原创 快速排序(2)算法改进--小的子文件、三者取中、重复关键字三路划分
标签(空格分隔): 排序算法 1. 小的子文件由于快速排序会递归的调用自身的许多小文件,因而要对小的子文件尽可能使用高效的算法 三者取其中快速排序重复关键字-三路划分快速排序
2015-03-18 18:13:05 1929
原创 快速排序(1)基本算法实现
1. 基本算法1.1 算法原理快速排序是一种分治排序算法。它将数组划分为左右两个部分,然后分别对这两部分排序。关键在划分的过程中,它将重排数组,使的以下条件成立:对于某个划分元素指针 i ,a[i]将处于排序后数组的最终的位置上a[l],……,a[i-1] 中的元素都比a[i]小a[i+1],……,a[r] 中的元素都比a[i]大我们通过划分完成排序,然后递归的调用该方法处理子文件,每一次划
2015-03-18 16:15:30 1046
转载 (转)如何分析分治型算法性能
主定理 Master Method :在《算法导论》被提出假设有递推关系式T(n)=aT(nb)+f(n)T(n) = a \; T\left(\frac{n}{b}\right) + f(n),其中 a≥1, b>1a \geq 1 \mbox{, } b > 1 其中,nn为问题规模,aa为递推的子问题数量,n/bn/b为每个子问题的规模(假设每个子问题的规模基本一样),f(n)f(n)为递推
2015-03-18 16:15:16 650
原创 基本排序(五):基本排序算法的总结
基本排序的基础如果一个基本的排序算法不比数据处理,如数据读入和读出慢,就没有必要寻找一个更快的算法。如果被排序的文件适合放在内存中,则排序方法称为“内部排序”;从磁盘上对文件排序称为“外部排序”。区别是内部排序可以很容易的访问任何元素,但是外部排序必须顺序访问元素,至少在大的数据块是如此。排序程序访问元素的方式:通过关键字进行比较、直接访问整个元素移动;排序函数都包过3个参数:数组、带排序字
2015-03-13 14:19:26 803
原创 基本排序(四):索引指针排序、链表排序、关键字排序
1. 索引和指针排序:因为元素的数量或者数据量巨大等原因,我们不希望频繁移动要排序的元素。因此,不移动元素的排序方法是维持一个索引数组或者索引指针,而排序的目标就是重排索引数组或指针。 2. 链表排序:排序对象为链表形式的数据3.关键字排序:具有相同关键字的数据
2015-03-13 14:14:04 2880
原创 基本排序(三):插入排序 和 希尔排序- 从后向前扫描,比正操作元素大的逐步移位
1. 插入排序插入排序(Insertion Sort)工作原理(维基百科) 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置插入。插入排序实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后移位,为最新元素提供插入空间。算法描述:一般来说,插入排序都采用in-place在数组上实现。具体算法描述如
2015-03-09 10:23:06 2239 1
原创 基本排序(二):选择排序 - 不断选出剩余数组中最小的元素
选择排序过程:首先,选出数组中最小的元素,将它与数组中第一个元素交换,然后找出次小的元素,并将它与数组中第二个元素交换。。。直至整个数组排序完成。即通过不断选出剩余数组中最小的元素实现。选择排序时间复杂度:O(N^2)元素大,关键字小
2015-03-07 19:36:58 1482
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-03-07 10:53:39 2032
动态规划四个经典问题的c++实现
2015-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人