打印
[技术问答]

排序算法中,最优的是哪个?

[复制链接]
696|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
598330983|  楼主 | 2023-2-20 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
快速排序法(Quick Sort)是目前为止最优的排序算法。它能够在最坏情况下运行时间复杂度也只有O(nlog n) ,因此它比其他排序算法要快得多。这意味着它在同样输入大小的情况下,会比其他算法运行得更快,并且用更少的处理力来完成任务。
#include <stdio.h>

int main()
{
  int array[20], n, c, d, swap;

  printf("Enter number of elements\n");
  scanf("%d", &n);

  printf("Enter %d integers\n", n);

  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);

  for (c = 0 ; c < ( n - 1 ); c++)
  {
    for (d = 0 ; d < n - c - 1; d++)
    {
      if (array[d] > array[d+1]) /* For decreasing order use < */
      {
        swap       = array[d];
        array[d]   = array[d+1];
        array[d+1] = swap;
      }
    }
  }

  printf("Sorted list in ascending order:\n");

  for ( c = 0 ; c < n ; c++ )
     printf("%d\n", array[c]);

  return 0;
}
快速排序法的实现原理
快速排序法是一种分治算法。它的基本步骤如下:
在数组中选择一个元素当做一个基准点 (pivot)
把数组中小于基准点的元素移动到基准点之前,大于基准点元素移动到基准点之后
对左右子数组分别重复这些步骤,直到所有数组都有序为止

使用特权

评论回复
沙发
guijial511| | 2023-2-21 07:39 | 只看该作者
我记得大学C语言教程里面有个章节就是讲排序算法的

使用特权

评论回复
板凳
OKAKAKO| | 2023-2-21 09:21 | 只看该作者
适用领域Pascal,c++等语言,是对冒泡排序算法的一种改进

使用特权

评论回复
地板
jf101| | 2023-2-21 16:40 | 只看该作者
实际上是在冒泡排序基础上的递归分治法

使用特权

评论回复
5
yangxiaor520| | 2023-2-22 10:24 | 只看该作者
排序算法还是很多

使用特权

评论回复
6
小夏天的大西瓜| | 2023-2-22 15:11 | 只看该作者
这是公认的好的排序法之一,很好用

使用特权

评论回复
7
小小蚂蚁举千斤| | 2023-2-23 16:03 | 只看该作者
冒泡 选择 希尔 插入 归并 快速 堆 桶 计数 基数一共十种呢

使用特权

评论回复
8
玛尼玛尼哄| | 2023-2-23 21:46 | 只看该作者
比冒泡快。

使用特权

评论回复
9
玛尼玛尼哄| | 2023-2-23 21:46 | 只看该作者
冒泡好像是最慢的,但是也最好理解。

使用特权

评论回复
10
玛尼玛尼哄| | 2023-2-23 21:47 | 只看该作者
其实人的思维我觉得更像冒泡法。

使用特权

评论回复
11
AdaMaYun| | 2023-2-24 13:40 | 只看该作者
排序方法的选取主要考虑算法的性能与资源占用。也就是速度和占用的存储空间。

使用特权

评论回复
12
598330983|  楼主 | 2023-2-26 21:48 | 只看该作者
算法课上都学过这个吧。

使用特权

评论回复
13
星辰大海不退缩| | 2023-2-27 15:22 | 只看该作者
一个排序算法受很多因素的影响,很难从一个角度说最优

使用特权

评论回复
14
LOVEEVER| | 2023-2-28 13:11 | 只看该作者
冒泡确实最好理解,快速算是用的多的

使用特权

评论回复
15
中国龙芯CDX| | 2023-2-28 14:05 | 只看该作者
排序算法还是比较多的,一般新手冒泡排序简单更容易理解,快速排序省事省力

使用特权

评论回复
16
小小蚂蚁举千斤| | 2023-2-28 15:41 | 只看该作者
快速算是比较常用好用的,省力一点

使用特权

评论回复
17
AloneKaven| | 2023-3-1 19:44 | 只看该作者
应该没有最优的算法,看不同的应用场景选择吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

246

主题

5384

帖子

22

粉丝