各种排序方法的比较(转帖)

zm0011 2008-04-17 11:12:16
排序方法的选用应该根据具体情况而定,一般应该从以下几个方面综合考虑:⑴时间复杂性;⑵空间复杂性;⑶稳定性;⑷算法简单性;⑸待排序记录个数n的大小;⑹记录本身信息量的大小;⑺关键码的分布情况。

1. 时间复杂性

表8-1各种排序方法性能的比较

前面所述各种内排序的时间和空间性能的比较结果如图所示。




2. 空间复杂性

从空间复杂性看,所有排序方法分为三类:

归并排序单独属于一类,其空间复杂性为O(n);

快速排序单独属于一类,其空涓丛有晕?em>O(log2n) ~ O(n);

其它排序方法归为一类,其空间复杂性为O(1)。

3. 稳定性

所有排序方法可分为两类,一类是稳定的,包括直接插入排序、起泡排序、简单选择排序和归并排序;

另一类是不稳定的,包括希尔排序、快速排序和堆排序。

4. 算法简单性

从算法简单性看,一类是简单算法,包括直接插入排序、简单选择排序和起泡排序;

另一类是改进算法,包括希尔排序、堆排序、快速排序和归并排序,这些算法都很复杂。

5. 待排序的记录个数n的大小

从待排序的记录个数n的大小看,n越小,采用简单排序方法越合适。

6. 记录本身信息量的大小

表8-2三种简单排序算法中记录的移动次数的比较

记录本身信息量越大,移动记录所花费的时间就越多,所以对记录的移动次数较多的算法不利。

排序方法
最好情况
最坏情况
平均情况

直接插入排序
O(n)
O(n2)
O(n2)

起泡排序
0
O(n2)
O(n2)

简单选择排序
0
O(n)
O(n)


7. 关键码的分布情况

当待排序记录序列为正序时,直接插入排序和起泡排序能达到O(n)的时间复杂度;

对于快速排序而言,这是最坏的情况,此时的时间性能蜕化为O(n2);

简单选择排序、堆排序和归并排序的时间性能不随记录序列中关键码的分布而改变。
...全文
528 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zm0011 2008-04-26
  • 打赏
  • 举报
回复
同学们都不看,我自己来顶一顶
haojn 2008-04-26
  • 打赏
  • 举报
回复
好像也没有写不能同时参加...

国外还是100$吧
zm0011 2008-04-26
  • 打赏
  • 举报
回复
如果两边都可以参加,你的室内温度也许会以两倍速度增加
denghui0815 2008-04-26
  • 打赏
  • 举报
回复
好像国外的奖品增加了 :)
denghui0815 2008-04-26
  • 打赏
  • 举报
回复
都看过了 只是没有顶
木翼下载系统(MYDOWN)V4是一款专业的下载系统,它采用php书写,具有高效专业的特点。木翼下载系统是为下载型网站提供的解决方案。功能强大,简单易用,生成静态页面,支持Tag, 支持关键词搜索记录,支持可自定义扩展字段, 及其内容设定, 全面满足下载型网站的需求。 木翼下载系统(MYDOWN) 4.0 修正了几个影响正常使用的bug:2011-06-30 1.修正软件列表管理出现错误BUG. 2.修正采集管理出现错误BUG. 3.修正部分情况一键转帖页面缺少文件的BUG. 4.修正大文件上传个别情况存在的错误. 功能列表: 1.MYDOWN V4默认模板风格更换,全新制作. 2.添加下载中 下载权限设置:后台允许修改: “否 ”“是”的默认值(还有软件大小MB和KB等). 3.希望增加暂停下载软件的批量查询 4.栏目关键词和描述、软件关键词和描述 自定义功能增加. 5.默认软件的支持系统 希望增加 VISTA 和windows7 6.转移分类页软件页面的时候,如果要转移的页面有很多页。要花很长时间,一页一页全选。要是能一次选定所有就好了 7.首页的统计信息可以加入栏目统计 及按一定参数调用的数据统计. 8.默认友情链接在新建窗口打开 9.Google Sitemap处理进一步优化 10.软件分类/软件页面URL 功能加强 更利于SEO 11.后台管理日志记录的搜索功能. 12.增加模板函数: {nophp,\"不执行php内容\"} 13.增加模板函数:getvalue 可根据选择类型的字段值获取对应的名称. 14.后台登陆默认页增加 错误报告 最新评论数 15.允许将节点1的根目录(download)去除, 可直接生成在根目录下. 16.软件下载页 投一票 功能可放在[one] 的标签模板中, 方便位置显示调整. 17.增加关闭信息站的参数. 18.软件投一票功能 投票结果实现在页面中实时更新的功能. 19.后台管理批量管理功能的加强. 20.精简HTML静态页面的几种显示方式.(可仅选择). 21.前台下载页面显示可下载的权限组信息.(当软件有设置下载的用户组时) 22.列表动态排序页面 增加对当前选择排序方式的悬停功能(知道当前是按哪种方式排) 23.多镜像站点时上传软件同步上传到镜像点上.(需FTP模块支持) 24.增加软件上一条下一条标签. 25.Tag伪静态(可开启) 增加对SEO的优化处理. 26.添加专题时增加对\"下载专题目录名称\"进行文件or目录的判断 避免无扩展名文件的产生 27.修正表字段默认值(default) 及 创建节点时创建立默认表的信息. 28.增加手机软件下载二维码功能,可在后台开启/关闭. 29.支持目标站站点页面编码为utf-8的采集. 30.目标URL不存在或无法读取时自动跳过继续下一页面内容的采集. 31.采集完自动刷新分类统计数。 32.采集内容的替换符号修改成参数设置可自定义. 33.列表页能有列表开始范围与结束范围标签,以限定自己需要的标签。 34.列表页能限制排除自定义的不符合规则的地址。如排除含 .html 的,如排除包含网址/wenzhang/这样字符的. 35.修正生成HTML后花费时间显示错误的BUG 36.优化生成HTML页面效率,加快页面生成速度,减轻系统负载. 37.优化用户IP获取函数, 对使用代理访问的用户能获取最接近真实的IP地址. 38.文章评论增加文章页面内无刷新机制及盖楼功能. 39.增加快速推荐短标题软件/简述 定义 以及调用标签. 40.参数文件中增加开启/关闭参数: (默认)会员中心模板统一到节点1的会员中心模板. 41.改进UC接口参数设置方式, 可在后台直接进行设置. / 修改UC的config.inc.php 文件位置移至uc_client目录下. 42.更新UC接口程序至1.5.2版本的支持. 43.模板内容修改: 软件厂商主页{homepage}的调用,有内容时显示相应链接,没内容时显示\"暂无\". 44.增加多数标签的缓存参数cache. 45.游客发布/提交软件功能(后台审核). 46.增加每个节点的下载验证码开启参数 47.增加每个节点的游客发布软件开启参数 48.修正网站gzip压缩开启时 当页面内容输出内容过少时不显示的问题.(原输出内容需>2048) 49增加关于我们/广告联系/版权声明/下载帮助/等 模块页面. 模板内容可在后台编辑. 50TAG 的分隔符号 修改成可自定的.(默认为只使用\",\"做为分隔符号) 51.增加软件审核不通过时 的系统自定义预设项. 点击后即可自动添入相

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧