现在的位置: 首页 > 综合 > 正文

HONGJIN2游戏开发中用到的排序算法有很多

2014年09月05日 ⁄ 综合 ⁄ 共 711字 ⁄ 字号 评论关闭

来源:HONGJIN2游戏开发中用到的排序算法有很多

HONGJIN2游戏开发中用到的排序算法有很多,红警爱好者HONGJIN2 在实际使用的时候需要根据情况选择合适的相应算法。每种算法都有其优缺点,判断一个算法的优劣,可以参考的标准:
1.计算的复杂度:依据排序数据量的大小(n),好的表现是O(nlogn),最差表现为O(n2)
2.系统资源的使用:包括计算机内存以及其他资源的使用,主要考虑计算机辅助内存的多少
3.稳定度

几种算法的复杂度:
1.冒泡排序法:平均速度和最坏情况下的速度都为O(n2)
2.快速排序法:平均速度为O(nlogn),比冒泡排序法快,单在最坏的情况下与冒泡排序法相同,为O(n2)
3.简单选择排序法,平均速度和最坏情况下的速度都为O(n2)
4.堆排序法:平均速度和最坏情况下的速度都为O(nlogn)
5.希尔排序法:平均速度为O(n3/2),最坏情况下速度为O(n2)
6.合并排序法:平均速度和最坏情况下的速度都为O(nlogn)

几种算法的稳定度:
•稳定的算法: •冒泡排序法
•插入排序法
•合并排序法

•不稳定的算法:. •选择排序法
•希尔排序法
•堆排序法
•快速排序法

选择排序算法的几个参考:
1.当数据为正序时,使用直接插入排序法、冒泡排序法和快速排序法
2.当n值比较下(如n<=50),可采用直接插入排序法或选择排序法。当记录规模比较小时直接插入排序较好;否则因为直接选择移动的记录数多于直接插入,应选择直接选择排序
3.当n值比较大时,则应采用时间复杂度为O(nlogn)的排序算法,如快速排序、堆排序或合并排序
4.当待排序的关键字是随机分布时,快速排序的平均时间最短
5.若要求排序稳定,则可选择合并排序


【上篇】
【下篇】

抱歉!评论已关闭.