直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其keyword大小插入到前面已经排好序的子序列中的适当位置,直到所有记录插入完毕为止。设数组为a[0…n-1]。1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12. 将a[i]并入当前的有...
分类:
编程语言 时间:
2014-11-03 20:46:19
阅读次数:
189
2. 插入排序—希尔排序(Shell Sort)希尔排序是1959年由D.L.Shell提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序。基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,在对全体记录依次进行直接插入排序。...
分类:
编程语言 时间:
2014-11-01 21:49:17
阅读次数:
209
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想: 将一个记录插入到已经排序好的有序表中,从而得到一个新、记录数增1的有序表。即:先将序列的第一个记录看成是一个有序的子序列,然后从第二个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时...
分类:
编程语言 时间:
2014-11-01 17:27:53
阅读次数:
165
一、直接插入排序 1 class Program 2 { 3 /// 4 /// swap two number 5 /// 6 /// 7 /// 8 static void S...
分类:
编程语言 时间:
2014-10-31 15:21:27
阅读次数:
182
题目:poj 2828 Buy Tickets
题意:有n个人排队,每个人有一个价值和要插的位置,然后当要插的位置上有人时所有的人向后移动一位当这个插入到这儿,如果没有直接插进去。
分析:分析发现直接插入移动的话花时间太多,我们可不可以用逆向思维。从后往前来,因为最后一个位置是肯定能确定的,而其他的则插入空的第某个位置。
比如第一组样例:
4
0 77
1 51
1 3...
分类:
其他好文 时间:
2014-10-30 22:40:22
阅读次数:
207
直接插入排序定义: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^2),空间复杂度为O(1)。class Program{ static void Main(string[] args) { ...
分类:
编程语言 时间:
2014-10-30 22:22:36
阅读次数:
188
JAVA代码实现数据结构中7种基本排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。
希望对您有所帮助。...
分类:
编程语言 时间:
2014-10-30 21:01:12
阅读次数:
238
8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现 packagecom.njue; ...
分类:
编程语言 时间:
2014-10-29 21:05:24
阅读次数:
309
/*
1.插入:
使用了一个s数组来保存根节点到插入节点的路线
情况:
(1)空树,直接插入,return
(2)关键字相同,覆盖原来的值,return
(3)插入后,不失衡 那么就要拿出s数组的值来改变这条路线的平衡因子。
(4)插入后,失衡 调用AVL函数。
AVL旋转有分为4种
ll rr rl lr旋转(在设置平衡因子的时候,rl和lr旋转又有3种子情况)
2.查找...
分类:
其他好文 时间:
2014-10-28 13:56:53
阅读次数:
111
直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。
/* 对顺序表L作直接插入排序 */
void InsertSort(SqList *L);
直接插入排序代码:
// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#de...
分类:
编程语言 时间:
2014-10-25 15:54:24
阅读次数:
212