数据结构
文章平均质量分 83
txHe
这个作者很懒,什么都没留下…
展开
-
[Java]交换排序
交换排序的基本思想:通过排序表中两个记录关键码的比较,若与排序要求相逆,则将二者进行交换,直至没有反序的记录为止。交换排序的特点是:排序码值较小的记录向序列的一端移动,排序码值较大的记录向序列的另一端移动。1、冒泡排序设排序表为R[1]….R[n],对n个记录的排序表进行冒泡排序(Bubble Sort)的过程是:第一趟,从第一个记录开始到第n个记录,对n-1对相邻的两个记录关键字进行比较,若与排序原创 2015-05-29 21:09:18 · 338 阅读 · 0 评论 -
[Java]选择排序
选择排序主要是每一趟从待排序列中选取一个关键码最小的记录,也即第一趟从n个记录中选取关键码最小的记录,第二趟从剩下的n-1个记录中选取关键码最小的记录,直到整个序列的记录选完。这样,由选取记录的顺序,便得到按关键码有序的序列。1、简单选择排序简单选择排序的过程为:第1趟,从n记录中找出关键码最小的记录与第一个记录交换,第2趟,从第二个记录开始的n-1个记录中再选取关键码最小的记录与第2个记录交换;如原创 2015-05-29 21:24:11 · 309 阅读 · 0 评论 -
[Java]归并排序
归并排序的思想是:将几个相邻的有序表合成一个总的有序表。1、两个有序表合并二路归并排序的基本操作是将两个相邻的有序表合并成一个有序表。2、二路归并排序的迭代算法二路归并的基本思想是:只有一个元素的表总是有序的,所以将排序表R[1…n],看做是n个长度为len=1的有序子表,对相邻的两个有序字表两两合并到R1[1..n],使之生成表长len=2的有序表;再进行两两合并到R[1..n]中,直到最后生成表原创 2015-05-29 21:29:05 · 328 阅读 · 0 评论 -
[Java]插入排序
插入排序的基本思想是:每次将一个待排序的记录,按其关键字大小插入到它前面已经排好序的字表的适当位置,直到全部记录插入完成,整个表有序为止。1、直接插入排序直接插入排序是一种简单的插入排序方法,基本思想是:在R1至Ri-1长度位i-1的子表已经有序的情况下,将Ri插入,得到R1至Ri长度为i的子表有序,这样通过n-1趟后,R1至Rn有序。2、折半插入排序直接插入排序的基本操作是向有序表中插入一个记录,原创 2015-05-29 20:57:42 · 324 阅读 · 0 评论 -
[数据结构]散列表初识
散列表也叫哈希表,是根据关键码值(Key value)而直接访问的数据结构,也就是说,它通过把关键码值映射到表中的一个位置来访问记录,以加快查找速度,这个映射函数叫散列函数,存放记录的数组叫散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数若能得到包含该关键字的记录在表中的地址,则称表M为哈希表,函数f(key)为哈希函数。一、基本概念1、若关键字为k,则其值存放在f(k)原创 2016-03-19 16:07:29 · 497 阅读 · 0 评论