2008-03-20
几种排序算法的性能的统计图
好久没发点有趣的东西了,今天发个来看看。
上个星期raven给了我一组有趣的统计图。跟大家分享下吧~
下面是对几种排序算法的性能的统计图。
x轴是输入数组的大小,从1000到10000;y轴是消耗的时间,单位为ms。
每条统计线所代表的排序算法如底部的图例所示。
每张图代表一种输入类型的状况。
Sorted表示输入是已经排好序的(按照从小到大),
almost-sorted表示大约有20%的元素是不符合顺序的,
reverse表示顺序是颠倒的(按照从大到小排序),
random表示随机的输入。
看不到大图的请点击放大。
可以看到,有好几种排序算法在这个统一坐标上都看不出什么端倪(相对来说太快了……),
而selection sort则很稳定的呈现出平方级的增长。
把坐标轴重新设定一次,再看看状况如何:
(注释:
Shellsort-A采用的是Shell提出的数列,从floor(N/2)开始每次除以2;
Shellsort-B采用的是另一种数列,从floor(N/2)开始每次除以3。
Quicksort-A是采用输入数组在中间位置的元素为分隔点;
Quicksort-B是采用median-of-three为分隔点;
Quicksort-C是采用median-of-five为分隔点;
Quicksort-D是采用输入数组的实际中值为分隔点
)
raven同学或许过段时间会把题目和代码都放出来吧。这家伙最近也是忙。
更新:raven同学发帖了,http://ravenex.javaeye.com/blog/175557。要看源代码的去那里看……
统计实验是在这样的配置上:
Pentium 4 HT 3.20GHz
1GB DDR
JRE 1.6.0 update 3
不知道为什么,无论怎么调节实验次数的参数,出来的结果都会很“抖”。
我在我的老笔记本上也跑过这个实验,就一点都不“抖”,但是比这里的图要慢多了。
P.S. 统计图是用JFreeChart画的。呼,这库我2年前用得快吐血了……源码开放,文档要卖钱,这算盘打得真是响当当的。
上个星期raven给了我一组有趣的统计图。跟大家分享下吧~
下面是对几种排序算法的性能的统计图。
x轴是输入数组的大小,从1000到10000;y轴是消耗的时间,单位为ms。
每条统计线所代表的排序算法如底部的图例所示。
每张图代表一种输入类型的状况。
Sorted表示输入是已经排好序的(按照从小到大),
almost-sorted表示大约有20%的元素是不符合顺序的,
reverse表示顺序是颠倒的(按照从大到小排序),
random表示随机的输入。
看不到大图的请点击放大。
可以看到,有好几种排序算法在这个统一坐标上都看不出什么端倪(相对来说太快了……),
而selection sort则很稳定的呈现出平方级的增长。
把坐标轴重新设定一次,再看看状况如何:
(注释:
Shellsort-A采用的是Shell提出的数列,从floor(N/2)开始每次除以2;
Shellsort-B采用的是另一种数列,从floor(N/2)开始每次除以3。
Quicksort-A是采用输入数组在中间位置的元素为分隔点;
Quicksort-B是采用median-of-three为分隔点;
Quicksort-C是采用median-of-five为分隔点;
Quicksort-D是采用输入数组的实际中值为分隔点
)
raven同学或许过段时间会把题目和代码都放出来吧。这家伙最近也是忙。
更新:raven同学发帖了,http://ravenex.javaeye.com/blog/175557。要看源代码的去那里看……
统计实验是在这样的配置上:
Pentium 4 HT 3.20GHz
1GB DDR
JRE 1.6.0 update 3
不知道为什么,无论怎么调节实验次数的参数,出来的结果都会很“抖”。
我在我的老笔记本上也跑过这个实验,就一点都不“抖”,但是比这里的图要慢多了。
P.S. 统计图是用JFreeChart画的。呼,这库我2年前用得快吐血了……源码开放,文档要卖钱,这算盘打得真是响当当的。
- 12:45
- 浏览 (863)
- 评论 (5)
- 分类: Data Structure and Algorithm
- 相关推荐
评论
RednaxelaFX
2008-03-24
OK,raven同学发了帖了,在这里:http://ravenex.javaeye.com/blog/175557
要看题目和源代码的去那里看嗯
要看题目和源代码的去那里看嗯
RednaxelaFX
2008-03-22
我这边现在也没有完整的source,在raven同学那边。过一两天吧。等他发了我这边也加个链接过去。
peterwillcn
2008-03-22
提供下源码。。学习。。。谢谢 支持 java 的开源..
BEA
2008-03-21
我一直在学习这个,真的挺好的!
lwwin
2008-03-20
下載了看……
其實很希望有真實的數據,想知道是怎樣統計的數據呢?
這很有趣=3=
其實很希望有真實的數據,想知道是怎樣統計的數據呢?
這很有趣=3=
发表评论
- 浏览: 45082 次
- 性别:

- 来自: 南京

- 详细资料
搜索本博客
我的相册
20080627_1
共 38 张
共 38 张
最近加入圈子
链接
- Flash Game University
- Digital Mars D
- [電波とどいた?]
- 吉里吉里
- NScripter
- retouch tools
- YaneuraoGameSDK.NET
- YU-RIS
- Wintermute Engine
- Yuuki! Novel
- NullScript
- SimpleScript
- Script.NET
- LiveMaker
- Luna for DirectX 9.0c
- ロジカルめがね
- The X10 Programming Language
- io
- SFML
- Sun Labs Lively Kernel
- Phoenix
- The Blog Ride
- でふぉると 第4版
- MSDN Magazine
- Gnash
- Boo
- S#.AOS
- Fabulous Adventures In Coding
- Strongtalk
- Ruby/DBI
最新评论
-
搬到新宿舍了
有很多都只是侧面新而已……里面都掉页了 OTL 那本The C++ Progra ...
-- by RednaxelaFX -
搬到新宿舍了
看起来,书都很新啊。 赶快翻烂它们,哈哈。
-- by Colorful -
搬到新宿舍了
那是不可能有的,谢谢 XD
-- by RednaxelaFX -
搬到新宿舍了
理解你, 另外如果真的有不用的计算机相关书请給偶谢谢=v=+++~
-- by lwwin -
吐槽:可怜、可恶、可悲, ...
奇怪!为什么有的图片可以正常的显示有的却不行呢?再发一遍吧这张是在英文版的Win ...
-- by gml520






评论排行榜