黑马程序员技术交流社区
标题:
请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。
[打印本页]
作者:
354620815
时间:
2014-10-4 18:30
标题:
请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。
请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。
不知道要实现哪个好?
作者:
杜工
时间:
2014-10-5 09:42
快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况下写出比快速排序快的算法,但是就通常情况而言,没有比它更快的了。快速排序是递归的,对于内存非常有限的机器来说,它不是一个好的选择。
作者:
354620815
时间:
2014-10-7 20:40
杜工 发表于 2014-10-5 09:42
快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况下写出比快速排序快的算法,但是就通常情况 ...
一听到递归都会有点头疼。。。
作者:
alpha.huai
时间:
2014-10-7 20:47
nlogn的 快排,堆排,归并(最好情况)
快排在 数据一般大的时候 是个好选择,小数据一般的交换排序都挺好的。
作者:
waylent
时间:
2014-10-7 21:38
冒泡排序,选择排序,插入排序,堆排序,归并排序,快速排序,希尔排序,计数排序,桶排序,基数排序。
排列少量整数最快的是桶排序,比快速排序要快,实现如下:
int[] example={21,73,90,1,2,11,32,25,25};//待排序的数组
int[] bucket=new int[91];
//如果给定数组中21出现1次,就把bucket[21]变为1,出现两次变为2
for (int i=0;i<example.length;i++) {
bucket[example[i]]++;
}
//按照bucket数组顺序输出即可(因为数组序号本来就已经排好序了),如果有重复就打印两次
for (int i=0;i<bucket.length;i++) {
for (int j=0;j<bucket[i];j++) {
System.out.print(i+" ");
}
}
复制代码
作者:
小城。
时间:
2014-10-7 21:51
快速把,
作者:
残羹夜宴丶
时间:
2014-10-8 15:31
我竟然也赤裸裸的抽到了这个题,可是视频上只讲了选择和冒泡排序,还得查阅资料整理了。
作者:
面具猴
时间:
2014-10-8 16:35
有本书《数据结构》清华大学出版社,严蔚敏,第十章内部排序,十一章外部排序,进行了深入的讲解。计算机考研的重点
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2