一、什么是直接插入排序:
第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。
简单来说,就是把待排序的数组,分为有序组和无序组。假设数组有n个元素,初始有序组只有一个元素,无序组有n-1个元素。然后不断拿无序组的第一个元素与有序组的元素进行对比,将...
分类:
编程语言 时间:
2014-11-20 20:30:04
阅读次数:
263
1、插入排序1.1直接插入排序算法介绍: 直接插入排序(straight insertion sort)的做法是: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,...
分类:
编程语言 时间:
2014-11-14 20:56:24
阅读次数:
191
所谓的有序表表,顾名思意啊,有序表应该就是数据是有一定顺序排列的,准确定义为:线性表中所有元素以递增或递减方式排列,并规定有序表中不存在不存在元素值相同的元素。
他是逻辑上的概念,不是物理上的。
逻辑结构类型有,线性结构,树形结构,图形结构,表示每个节点之间的组织结构。物理上的结构有顺序存储结构,链式存储结构, 索引存储和哈希散列,表示逻辑上的数据结构以什么样的方式存储在存储设备上。
顺序表...
分类:
其他好文 时间:
2014-11-12 13:50:35
阅读次数:
214
归并算法是将两个或两个以上的有序表组合成一个新的有序表,它的原理是:假设初始序列含有n个记录,则可以看成是n个有序子序列,两两归并,得到[n/2]个有序子序列,再次归并……不断重复直至归并到长度为n的有序序列,这样的排序方法称为2路归并排序。
实例一:递归形式的2路归并算法
#define MAXSIZE 4
int data[MAXSIZE] = {2,1,0,3};
/*...
分类:
编程语言 时间:
2014-11-06 22:05:09
阅读次数:
280
归并(Merge)排序是将两个(或两个以上)有序表合并成一个新的有序表,
即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。
归并排序是建立在归并操作上的一种有效的排序算法。
该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。...
分类:
编程语言 时间:
2014-11-01 17:53:27
阅读次数:
243
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想: 将一个记录插入到已经排序好的有序表中,从而得到一个新、记录数增1的有序表。即:先将序列的第一个记录看成是一个有序的子序列,然后从第二个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时...
分类:
编程语言 时间:
2014-11-01 17:27:53
阅读次数:
165
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、.....
分类:
编程语言 时间:
2014-10-31 22:02:38
阅读次数:
195
直接插入排序定义: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^2),空间复杂度为O(1)。class Program{ static void Main(string[] args) { ...
分类:
编程语言 时间:
2014-10-30 22:22:36
阅读次数:
188
1.算法思想n 个元素,假设前 i 个元素已经排好序,从i+1到n个元素中选出最小的元素放在它在有序表中的最终位置上2.代码实现(1)非递归调用def SelectionSort(A, n): for i in range(0, n-2): mini = i for...
分类:
编程语言 时间:
2014-10-28 23:59:42
阅读次数:
369
直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。
/* 对顺序表L作直接插入排序 */
void InsertSort(SqList *L);
直接插入排序代码:
// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#de...
分类:
编程语言 时间:
2014-10-25 15:54:24
阅读次数:
212