排序

基数排序算法C/C++代码图文讲解

基数排序算法C/C++代码图文讲解基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。(1)……

堆排序算法实例详解

堆排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n) 平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须……

排序算法之冒泡排序代码模板(C/C++/Java/Python多版本)

冒泡算法是一种基础的排序算法,其核心思想是反复交换相邻元素,如同水中的气泡逐渐上浮。它通过多轮遍历,在每一轮中依次比较相邻的两个元素,如果它们的顺序错误(例如前一个比后一个大),就交换它们的位置,这样每一轮遍历都会将当前未排序部分中的最大(或最小)元素“浮”到正确的一端(末端)。这个过程不断重复,直到某一轮遍历中没有发生任何交换,表明序列已经完全有序,其时间复杂度为 O(n²),效率较低。1. C

什么是拓扑排序?

什么是拓扑排序?拓扑排序主要解决的问题是给一个图的所有节点排序。一、什么是拓扑排序在图论中,拓扑排序(TopologicalSorting)是一个有向无环图(DAG,DirectedAcyclicGraph)的所有顶……

计数排序算法C/C++代码图文讲解

计数排序算法C/C++代码图文讲解计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。(1)算法的步骤:1.找出待排序的数组中最大和最小的元素……

冒泡排序算法C/C++代码图文讲解

冒泡排序算法C/C++代码图文讲解冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数……

Java快速排序(Quick Sort)

Java快速排序(Quick Sort)快速排序(QuickSort)是基于二分思想,对冒泡排序的一种改进。主要思想是确立一个基数,将小于基数的数字放到基数的左边,大于基数的数字放到基数的右边,然后再对这两部分数字进一步排序,从而实现对数组……

选择排序算法C/C++代码图文讲解

选择排序算法C/C++代码图文讲解本篇主要简单介绍选择排序,并且通过图片和代码的形式帮助大家理解应用。(1)什么是选择排序?选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的中数据元素选出……

归并排序算法实例详解

归并排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN) 空间复杂度O(N) 注:归并排序需要创建一个与原数组相同长……