- 博客(6)
- 资源 (29)
- 收藏
- 关注
原创 排序算法——基数排序
基数排序不需要进行关键字的比较,而是通过“分配”和“收集”过程来实现排序的,是一种借助多关键字排序的思想对单关键字排序的方法。它通过比较关键字不同位上的字符的大小进行排序,每一趟排序过程并不产生有序区,也就是说在最后一趟排序结束前,所有元素并不一定都归位了。基数排序分为最低位优先(LSD)和最高位优先(MSD)。本博文只介绍最低位优先(LSD),不过,只要理解了最低位优先(LSD),那么最高位优先
2016-12-23 17:04:37 1573
原创 排序算法——归并排序
归并排序是多次将两个或两个以上的有序表合并为一个新的有序表。最简单的归并是二路归并,即将两个有序表合并为一个有序表。二路归并排序的基本思想是:将R[0..n-1]看作是n个长度为1的有序子表,然后进行两两二路归并,得到[n/2](对n/2取整数)个长度为2(最后一个子表的长度可能小于2)的有序子表;再次进行两两二路归并,得到[n/4]个长度为4(最后一个子表的长度可能小于4)的有序子表,...,直
2016-12-23 17:00:39 283
原创 排序算法——选择排序
选择排序的基本思想:每一趟从待排序的元素中选出关键字最小(或最大)的元素,顺序放在已排好序的子表里,直到全部元素排序完毕。1. 直接选择排序/** * 选择排序 * * 算法:直接选择排序(Straight Select Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:第i趟排序开始时,当前有序区为R[0..i-1],无序区为R[i..n-
2016-12-23 16:59:00 307
原创 排序算法——交换排序
交换排序的基本思想:两两比较待排序元素的关键字,发现两个元素的次序相反时则进行交换,直到没有反序的元素为止。1. 冒泡排序/** * 交换排序 * * 算法:冒泡排序(Bubble Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:通过无序区中相邻元素间关键字的比较和位置的交换,使关键字最小的元素如气泡一般逐渐往上“漂浮”直至“水面”。
2016-12-23 16:56:25 445
原创 排序算法——插入排序
插入排序的基本思想是:每次将一个待排序的元素,按其关键字大小插入到已经排好序的子表中的适当位置,直到全部元素插入完成为止。1. 直接插入排序/** * 插入排序 * * 算法:直接插入排序(Straight Insert Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:假定待排序的元素存放在数组R[0..n-1]中,排序过程中的某一时刻,R
2016-12-23 16:52:37 365
原创 排序算法
假定被排序的数据是由一组元素组成的表,而元素由若干数据项组成,其中有一项可用来标识该元素,称为关键字项,其值称为关键字。关键字可用作排序运算的依据。1. 什么是排序 排序,就是整理表中的元素,使之关键字按某一原则(如:递增或递减的顺序)重新排列顺序。 本博文仅讨论递增排序的情况。但是会提供一个倒序排序的算法,这样就可以使用该倒序排序算法把递增排序得到
2016-12-23 16:48:05 353
自动从NTP服务器同步本地时间(WinForm)
2017-10-05
Winform自定义MessageBox
2017-01-08
C#的Winform多语言实现(XML文件)升级版
2017-01-07
Microsoft Access数据库操作类(C#)
2016-11-21
三村合建水厂问题研究(Matlab程序)
2016-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人