基于比较的排序技术的局限性

2024-03-02

大多数需要对数据进行排序的场景都会选择比较排序。合并排序、快速排序、插入排序和其他比较排序等技术可以处理不同的数据类型,并且效率的下限为 O(nLog(n))。

我的问题是

  1. 基于比较的排序技术有任何限制吗?
  2. 有哪些场景会使用非比较排序技术?

cheers


你自己或多或少已经回答了。基于比较的排序技术仅限于 O(n Log(n)) 的下限。非基于比较的排序技术不受此限制。非排序算法的普遍问题是必须更好地了解该领域,因此它们不像基于比较的技术那么通用。

鸽巢排序 http://en.wikipedia.org/wiki/Pigeonhole_sort是一个很棒且非常简单的示例,只要可能的键值的数量接近元素的数量,它就相当快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于比较的排序技术的局限性 的相关文章

随机推荐

  • 等待异步脚本结果超时 Selenium C# Protractor

    我正在尝试使用 Protractor net 为 AngularJS 平台创建一个自动化测试脚本 并在 C 中使用 Selenium 我使用下面的代码创建了驱动程序 driver new FirefoxDriver Ngdriver new
  • Windows 无法绑定到 49690 以上的端口

    我运行一个绑定到端口 50005 的应用程序已经有一段时间了 似乎最近发生了一些变化 我的机器上没有应用程序能够绑定到 127 0 0 1 上 49690 以上的任何 TCP 端口 有谁知道什么时候 发生了什么变化 操作系统名称 Micro
  • Resharper - 说服管理层[重复]

    这个问题在这里已经有答案了 可能的重复 Reshaper 的业务案例 https stackoverflow com questions 2298308 business case for resharper 我刚刚毕业 正在为我的第一家公
  • 如何知道 MPMoviePlayerController 正在 Iphone OS 3.0 中播放

    我需要知道 MPMoviePlayerController 是否在特定时刻正在播放 在 iphone 3 0 中 它不会触发 MPMoviePlayerContentPreloadDidFinishNotification 有谁知道有什么解
  • IIS 自动启动未禁用空闲超时

    我在 Windows Azure Web 角色上设置 ASP NET 自动启动 我在 Windows Server 2012 上使用 ASP NET 4 5 和 IIS 8 我基本上是跟着那些指示 http www iis net lear
  • C++ 模板 template (双模板?)

    我想建立一个Stack类 因此用户将能够选择他想要使用哪个容器来实现Stack 例如 List Vector 部分代码 stack h ifndef STACK H define STACK H template
  • 设置H2密码

    在嵌入式模式下工作时如何设置自己的密码来访问 h2 如果有人感到困惑 谈论访问数据库的 root 密码 在 Eclipse 中 密码分配似乎是在创建数据库连接时发生的 这反过来又启动了模式创建过程 我们在其中提供用户名和密码 即使这是真的
  • 如何在更改密码时触发 Firebase 中的云功能?

    当用户更改密码时 我试图触发 Firebase 云功能 无论是 更改密码 firebase auth currentUser 更新密码 新密码 或通过重置它 firebase auth 发送密码重置电子邮件 电子邮件 由于我没有在任何地方存
  • 现代 C++ 中比较 double/float 是否相等的现代实践 [重复]

    这个问题在这里已经有答案了 if std abs double1 double2 lt std numeric limits
  • Powershell 编码默认输出

    我在 TFS 构建中运行的 powershell 脚本遇到以下问题 这两个问题都与 TFS 无关 可以使用简单的 powershell 命令行窗口重现 1 与TFS完全无关 看来 Powershell 在管道方面不喜欢德语元音变音 1a 这
  • 来自 XElement 的内部文本? [复制]

    这个问题在这里已经有答案了 我很难从 XElement 的内部文本中获取正确的值 首先 这是我正在使用的 XML 这是我们工作流程中某个流程产生的生产数据的副本 换句话说 我无法更改 XML 只能解析它 我想要获取其内部文本的元素内部包含看
  • 使用 JavaScript 从 Amazon Cognito API 中详尽选择所有用户的安全且可扩展的方法是什么?

    我是一个小团队的一员 在一个相当小的网站上工作 该网站拥有用户帐户 此时大约有100名用户 我们正在使用 Amazon Cognito 进行用户管理 我们的网站上有一个摘要页面 其中显示所有用户和各种属性的列表 表格 然而 有一个硬性限制
  • 使用 Go 和 Cloudformation 部署 AWS Lambda

    我正在自动部署基于 Go 的 AWS Lambda 但遇到了问题 我的 AWS 无服务器模板是 AWSTemplateFormatVersion 2010 09 09 Transform AWS Serverless 2016 10 31
  • 鼠标滚轮在容器内滚动 - 捕获事件

    我有一个带有内部可滚动 DIV 的页面 当我将鼠标悬停在它上面并尝试用鼠标滚轮滚动它时 该 DIV 的内容会根据需要滚动 而主页保持不变 但是当我到达 DIV 滚动区域的底部时 整个页面开始滚动 我尝试在该 div 上设置事件处理程序 但是
  • 如何在松散耦合的应用程序中将状态信息传递到 GUI

    我第一次尝试使用依赖注入来松散地耦合一个新应用程序 我的问题是如何将状态信息传递回用户 在过去 所有代码都塞进 GUI 中 虽然非常混乱且难以维护 但非常容易 课程的安排是这样的 请不要检查我的 UML 技能 它们不存在 如果我们走右手边
  • Google AMP 脚本与 jquery window.scroll 冲突

    我正在尝试遵循 Google 建议的 AMP 指南 ampproject org https www ampproject org 但是一旦我添加了他们的 js 脚本 jQuery 滚动就停止工作 有谁知道为什么以及如何解决它 AMP HT
  • 如何在 VS 单元测试中包含示例数据文件?

    我想要针对示例 XML 文件运行单元测试 我应该如何将这些文件暴露给单元测试 我尝试过使用内容构建操作 但我无权访问应用程序上下文 因此 GetContentStream 已退出 我知道我可以将 DataContext 用于 SQL 数据库
  • Setter 目标名称无法识别

    我是 WPF 的初学者 我尝试使用 DataTrigger 编写 WPF 部分 这里需要逻辑 If the variable iBottleCount gt 10 then make the background of a label gr
  • 我何时以及为什么应该清理 XCode 中的构建

    每隔一段时间 解决 XCode 中严重问题的方法就是点击 Product Clean 这似乎会清除一些缓存 问题就会消失 但它实际上在做什么 更重要的是 我应该什么时候这样做 在处理核心数据时似乎更频繁地需要它 但我并没有真正跟踪它 作为一
  • 基于比较的排序技术的局限性

    大多数需要对数据进行排序的场景都会选择比较排序 合并排序 快速排序 插入排序和其他比较排序等技术可以处理不同的数据类型 并且效率的下限为 O nLog n 我的问题是 基于比较的排序技术有任何限制吗 有哪些场景会使用非比较排序技术 chee