• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 排序算法以交换整数的和的大小为衡量标准,哪一种代价最小?

排序算法以交换整数的和的大小为衡量标准,哪一种代价最小?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了排序算法是对一大批,几种排序算法的比较,几种排序算法,哪种排序算法最快,java排序的几种算法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:排序算法以交换整数的和的大小为衡量标准,哪一种代价最小?
描述:

有一个整数序列需要按升序排序。我们知道排序的基本操作是交换两个数的位置,定义被交换的两个数的和为本次交换的代价。那么所有交换次数代价的和为总代价。
请问哪一种排序方法代价最小?


解决方案1:

这个是最小逆序对吗?归并排序吧。

解决方案2:

正常的排序是不会这么计算代价的,因此只能把楼主的问题看成是一道算法题了。

先把序列排序,然后从大到小依次检查每个元素,假设新序列中第i位的元素在原序列中是第j位,那么就相当于交换原序列中的(i,j),代价为a[i]+a[j]。如果i==j则不交换。这样,总交换次数是n-1次,而且大数被交换的概率可能会更小一些。

毕竟是基于贪心思想,所以不能保证这个代价之和是最小的,但是应该比大部分算法的代价要小一点。

解决方案3:

计数排序不存在数据位置的交换,可以在O(n)内排序。
交换数据位置的排序算法中,快排的交换数据次数可能会多于归并排序这种稳定的排序算法。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 排序算法以交换整数的和的大小为衡量标准,哪一种代价最小?

相关文章

  • 2017-06-07 王爽书关于实验十问题
  • 2017-06-07 关于FTP文件下载的问题
  • 2017-06-07 nodejs获取错误的uptoken,导致无法上传
  • 2017-06-07 已知一个scalareflectruntimeuniverseType,如何把一个类型为Any的值转换为这个Type
  • 2017-06-07 (python)《FlaskWeb开发》实例3-10如何实现?
  • 2017-06-07 python爬虫如何让python支持中文
  • 2017-06-07 droolsxml规则文件
  • 2017-06-07 (python)tornado源码中IOLoop类的raiseNotImplementedError有什么用处?
  • 2017-06-07 (shell)bash_profilebash_rc什么区别
  • 2017-06-07 数据库数据恢复数据库提取的扁平数据结构转树状结构的算法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 程序员经常用到的这些单词,如何读?nginxawstats……
    • objc支持文件分片吗?
    • 怎样过TP驱动保护有没有好的教程介绍拜托了
    • 图片上传100%之后无动静是几个意思?
    • (python)GitLab配置CAS认证,前端WEB正常但是做gitclone等操作时报错如下
    • 字典统计分析,最佳时间复杂度能到达多少
    • 编译curl错误:“configure:error:c-areslibrarydefectiveortooold”
    • python中的request模块可以指定IP吗?
    • (python)tornado如何知道客户端是否结束连接
    • python中打印对称数怎么样才能每五个数一换行

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有