直接插入排序:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1...
分类:
其他好文 时间:
2014-07-16 17:32:03
阅读次数:
223
写在前面:
排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。因此排序掌握各种排序算法非常重要。对下面介绍的各个排序,我们假定所有排序的关键字都是整数、对传入函数的参数默认是已经检查好了的。只是简单的描述各个算法并给出了具体实现代码,并未做其他深究探讨。
基础知识:
...
分类:
其他好文 时间:
2014-07-16 09:47:22
阅读次数:
296
思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。共需进行i-1趟比较,直到所有记录排序完成为止。例如:进行第i趟选择时,从当前候选记录中选出关键字最小的k号记录,并和第i个记录进行交换。基本实现代码for (int i=0; i<nLen-1; i++)
{
for(int j=i+1; j<nLen; j++)
{
...
分类:
其他好文 时间:
2014-07-13 16:26:44
阅读次数:
233
一。概念每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。二。示例初始序列: {49 27 65 97 76 12 38}第1趟:12与49交换:12{27 65 97 76 49 ...
分类:
其他好文 时间:
2014-07-09 15:46:21
阅读次数:
153
一、直接插入排序
稳定,时间复杂度:最好O(n)、最差O(n^2)、平均O(n^2),空间复杂度O(1)
void InsertSort(int L[], int n)
{
int i, j,key;
for (i = 1; i<n; i++)
if(L[i] < L[i-1])//需要将L[i]插入到有序表L[0...i-1]
{
key = L[i];...
分类:
其他好文 时间:
2014-07-08 13:40:33
阅读次数:
137
继《排序(一)__综述》后,对简单算法中的冒泡排序、简单选择排序和简单插入排序进行较为详细的解析。...
分类:
其他好文 时间:
2014-07-02 07:28:28
阅读次数:
192
排序算法基本陈述容易理解,之后会详细解析希尔排序、堆排序、归并排序、快速排序、简单选择排序、直接插入排序等排序算法。...
分类:
其他好文 时间:
2014-07-01 06:37:39
阅读次数:
188
1、冒泡排序
1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2)代码实现:
package com.test.sort;
public class BubbleSort
{
public static void sort(int[] data)
{
...
分类:
编程语言 时间:
2014-06-16 20:00:39
阅读次数:
253
简单选择排序时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:836 测试通过:259描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两...
分类:
其他好文 时间:
2014-06-14 19:04:13
阅读次数:
253