广交好友~~ 想要讨论的可以留下msn~~~ 希望群友网友经常能提出问题,一起解决,共同提高

算法效率---排序

上一篇 / 下一篇  2010-11-04 16:55:09 / 个人分类:Java&C

今天突发奇想,想玩玩一些基本的算法,看看他们的运行效率如何,废话少说,看看试验的结果:

1.数量级: 1024 * 1

冒泡排序用的时间是:0.0127910111480649 秒
选择排序用的时间是:0.00482072442167929 秒
插入排序用的时间是:0.0295230259711779 秒
希尔排序用的时间是:0.00567558167308974 秒
快速排序用的时间是:0.00129737159331703 秒

2.数量级:1024 * 50

冒泡排序用的时间是:19.2047039498037 秒
选择排序用的时间是:12.8408982147172 秒
插入排序用的时间是:8.41939883420938 秒
希尔排序用的时间是:9.90005713016599 秒
快速排序用的时间是:0.0246495015427938 秒

2.数量级:1024 * 100

冒泡排序用的时间是:82.4504259619589 秒
选择排序用的时间是:51.1897618272713 秒
插入排序用的时间是:32.164371449444 秒
希尔排序用的时间是:37.1519774161241 秒
快速排序用的时间是:0.0520460002598096 秒

参考大大们修改出来的测试代码:

/**************************************************************************************
 * 功能:测试各种排序算法的效率
 * 
 * 作者:清风工作
 * 日期:2007-7-15
*************************************************************************************
*/


using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Security.Cryptography;


namespace LMB.Sort
{


    
class SortTest
    
{

        [System.Runtime.InteropServices.DllImport(
"Kernel32.dll")]
        
static extern bool QueryPerformanceCounter(ref long count);

        [System.Runtime.InteropServices.DllImport(
"Kernel32.dll")]
        
static extern bool QueryPerformanceFrequency(ref long count);

        
//测试数据个数
        const int MAXSIZE = 1024 * 100;

        
生成随机测试数组

        
冒泡排序

        
选择排序

        
插入排序

        
希尔排序

TAG:

Plight 引用 删除 iseedeadpeople   /   2010-11-04 16:58:34
快速---- 希尔---插入----选择---冒泡
 

评分:0

我来说两句

Open Toolbar