摘要:
前几天,看到一篇前辈的博文“程序员必知的8大排序”,不禁的手痒起来,重新翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用java去实现,其中有不足之处,还望各位道友指正出来。
先来看看8种排序之间的关系:
第一:直接插入排序
1. 基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第...
分类:
其他好文 时间:
2014-07-29 12:59:47
阅读次数:
366
Sort a linked list using insertion sort.题目要求:链表的插入排序,由于没有时间复杂度的要求,可以直接循环操作。/** * Definition for singly-linked list. * struct ListNode { * int val;...
分类:
其他好文 时间:
2014-07-29 10:54:26
阅读次数:
190
java算法插入排序优化代码 代码下载地址:http://www.zuidaima.com/share/1550463280630784.htm...
分类:
编程语言 时间:
2014-07-28 16:20:43
阅读次数:
216
之间介绍插入排序时漏掉一种插入方式,那就是折半插入。
这种方式是采用二分查找法去查找插入点,可以减少元素比较次数,但是并不能减少移动次数,复杂度跟直接插入一样,都为O(n^2).
直接上代码:
//二分插入排序
void binary_insert_sort(int arr[],int len)
{
if(arr == NULL || len <= 1)
{
return;
}...
分类:
其他好文 时间:
2014-07-28 00:27:19
阅读次数:
292
#SIZE 10
//直接插入排序
void insert_sort(){
int i,j;
int array[SIZE+1];
array[]={0,12,23,11,55,2,34,18,20,48,22};
for(i=2;i
array[0]=...
分类:
其他好文 时间:
2014-07-27 11:11:32
阅读次数:
238
#includevoid InsertSort(int n,int a[]){ int j; for(int i=0;i=0;j--) { if(a[j]>tmp) { a[j+1]=a[j]; ...
分类:
其他好文 时间:
2014-07-26 14:02:05
阅读次数:
171
一、直接插入排序算法:void insertSort(int* data, int len){ int sentry;//哨兵 int i,j; for(i = 1; i 1)趟排序时,前(i-1)个记录已经有序,于是查找插入位置我们可以用折半查找。算法如下: 1 void bI...
分类:
其他好文 时间:
2014-07-26 00:41:36
阅读次数:
284
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基坚固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描写叙述 选择排序:比方在一个长度为N的...
分类:
其他好文 时间:
2014-07-24 10:11:43
阅读次数:
195
//插入排序:package org.rut.util.algorithm.support;import org.rut.util.algorithm.SortUtil;/*** @author treeroot* @since 2006-2-2* @version 1.0*/public clas...
分类:
编程语言 时间:
2014-07-24 00:53:17
阅读次数:
504
插入排序,由第二位开始,一个个往前适当的位置(比左边大,比右边小)插入 1 0 && $ary[$j - 1] > $ary[$j]) {10 11 $tmp = $ary[$j];12 $ary[$j] = $ary[$j - 1];13 $ary...
分类:
Web程序 时间:
2014-07-22 23:32:47
阅读次数:
397