热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入理解排序算法:集合1(编程语言中的高效排序工具)

了解你的排序算法|集合 1(编程语言使用的排序武器)原文:https://www . geesforgeks . org/kno

了解你的排序算法|集合 1(编程语言使用的排序武器)

原文:https://www . geesforgeks . org/know-sorting-algorithm-set-1-sorting-arms-used-programming-languages/

有没有想过我们在 C++/Java 中使用的 sort()函数或者 Python 中的 sorted()函数是如何在内部工作的?

这里列出了不同编程语言的所有内置排序算法以及它们在内部使用的算法。


  1. Qport () of C– Quick sort

    • Optimal case time complexity-O(NlogN)

    • Average case time complexity-O(NlogN)

    • Worse case time complexity-O(N2)

    • Auxiliary space-O(log N)

    • Stable-depends on the implementation of the comparator function.

    • Adaptive-none



堆排序

插入排序


  • Optimal case time complexity-O(NlogN)

  • Average case time complexity-O(NlogN)

  • Worse case time complexity-O(NlogN)

  • Auxiliary space-O(logN)

  • Stable-none

  • Adaptive-none


  • Auxiliary space-O(N) Stable.-Yes Adaptive.-Yes Java 6 的数组。sort()–快速排序T3】*


    • Optimal case time complexity-O(NlogN)

    • Average case time complexity-O(NlogN)

    合并排序

    插入排序


    • Optimal case time complexity-O(N)

    • Average case time complexity-O(NlogN)

    • Worse case time complexity-O(NlogN)

    • Auxiliary space-O(N)

    • Stable.-Yes

    • self-adaption

    • Auxiliary space-O(N)

    • Stable.-Yes

    • Adaptive.-Yes


    • Sorted ()–timsort of Python (mixed merge sort and insert sort )


    • Optimal case time complexity-O(N)

    合并排序

    插入排序


    • Optimal case time complexity-O(N)

    • Average case time complexity-O(NlogN)

    • Worse case time complexity-O(NlogN)

    • Auxiliary space-O(N)

    • Stable.-Yes



在接下来的几集里,我们将实现 Introsort ( C++的排序武器)和 Sleep sort、Gnome Sort 以及其他非常规的排序算法。

本文由拉希特·贝尔瓦亚尔供稿。如果你喜欢极客博客并想投稿,你也可以写一篇文章并把你的文章邮寄到 review-team@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。

如果您发现任何不正确的地方,或者您想分享更多关于上面讨论的主题的信息,请写评论


推荐阅读
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 信用评分卡的Python实现与评估
    本文介绍如何使用Python构建和评估信用评分卡模型,涵盖数据预处理、模型训练及验证指标选择。附带详细代码示例和视频教程链接。 ... [详细]
  • 本文介绍了一种解决二元可满足性(2-SAT)问题的方法。通过具体实例,详细解释了如何构建模型、应用算法,并提供了编程实现的细节和优化建议。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文介绍如何通过更改软件源来提前体验Ubuntu 8.10,包括详细的配置步骤和相关注意事项。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
author-avatar
mobiledu2502887427
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有