5.排序操作5.1基础知识对于排序操作,介绍过很多的算法,在笔记中有关于排序算法的简单总结,但是对于每一个配需算法没有详细的深入,知识对于排序的稳定性做了一下了解。下面深入的分析一下排序算法,并且使用C++语言实现。首先介绍上一次在笔记中整理稳定排序和不稳定排序的知识:选择排序、快速排序、希尔排序、...
分类:
其他好文 时间:
2014-06-28 17:25:00
阅读次数:
274
几种基础排序的学习冒(冒泡)>选(选择)>插(插入)>希(希尔)>快(快速)>归(归并)>堆时间复杂度冒-O(n^2)选-O(n^2)插-O(n^2)希-O(n*logn)快-O(n*logn)归-O(n*logn)堆-O(n*logn)(1)冒泡排序:package com.jp.algorith...
分类:
其他好文 时间:
2014-06-28 17:13:40
阅读次数:
156
近日学习了Shell Sort,也就是希尔排序,也称递减增量排序算法。在1959年由DL.Shell提出于1959年提出,由此得名。此版本算法是在插入排序(Insertion Sort)基础上,将数组分成了h份(gap).也就是在数组中每隔h个数取出一个数,为一个子数组。先在子数组上进行排序,然后不...
分类:
其他好文 时间:
2014-06-20 21:11:42
阅读次数:
314
参看:数据结构与算法分析-c语言描述public class Main { public static void main(String[] args) { String[] a = { "a", "d", "e", "f", "m" }; String[] b =...
分类:
编程语言 时间:
2014-06-18 16:08:33
阅读次数:
211
对c语言系统库函数、堆排序、希尔排序、折半插入排序、快速排序消耗时间的比较...
分类:
编程语言 时间:
2014-06-10 15:02:33
阅读次数:
305
1.冒泡排序
冒泡排序是最慢的排序算法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。 2.插入排序
插入排序通过把序列中的值插入一个已经排序好的序列中,直到该序列的结束。 3.shell排序(希尔排序) ...
分类:
其他好文 时间:
2014-06-10 11:41:22
阅读次数:
182
插入排序
直接插入排序
// 直接插入排序
void DirectInsertSort(int arr[], int lhs, int rhs)
{
int temp;
for (int i = lhs+1; i = 0 && temp < arr[j]...
分类:
其他好文 时间:
2014-06-07 14:31:54
阅读次数:
274
四种基本算法概述:基本排序:选择,插入,冒泡,希尔。上述算法适用于小规模文件和特殊文件的排序,并不适合大规模随机排序的文件。前三种算法的执行时间与N2成正比,希尔算法的执行时间与N3/2(或更快)成正比;前三种算法在平均,最坏情况下都是N2,而且都不需要额外的内存;所以尽管他们的运行时间只相差常数倍...
分类:
其他好文 时间:
2014-06-03 10:01:38
阅读次数:
384
排序的严格定义:假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字满足Kp1希尔排序),选择排序类(简单选择排序—>堆排序),交换排序类(冒泡排序—>...
分类:
其他好文 时间:
2014-05-30 17:43:33
阅读次数:
278