快速排序算法-做同一件事的方法有很多?

克里斯

我是否说有很多方法可以执行快速排序?

为了论证,让我们使用第一本教科书的编号:20 47 12 53 32 84 85 96 45 18

这本书说要交换18和20(在书中20代表红色,而18代表蓝色,所以我加粗了20)。

基本上,它一直移动蓝色指针,直到数字为:18 12 20 53 32 84 85 96 45 47

现在它说(这对我来说很明显),20左边的所有数字都小于,而右边的所有数字都大于,但是它从未将20命名为“枢轴”,即其他大多数资源如何谈论它。然后,正如所有其他方法所指出的那样,它会在两侧进行快速排序,然后我们得出结论(它仅涉及对列表的右半部分进行排序):

47 32 45 53 96 85 84结束。现在,从其他资源中我知道,一旦所有列表都按顺序排列,它们就会重新组合在一起。我想我理解这一点,但是一本与第二本不同的“剑桥认可”教科书经常使我感到困惑。第二个是关于通过选择中位数来找到一个枢轴。

为列表找到“枢轴”的最佳方法是什么?

Am_I_Helpful

教科书中提供的内容与基于数据透视的概念类似,不同之处在于他们在那儿没有提及此术语。但是,无论如何,概念是相同的。

为列表找到“枢轴”的最佳方法是什么?

没有选择关键元素的固定方法。您可以选择数组的任何元素-第一,第二,最后等。也可以为给定数组随机选择它。

但是,出于对称的原因,科学家和数学家通常谈论中位元素,它是列表的中间元素,从而减少了递归调用。

几乎显而易见,当您选择数组的第一个或最后一个元素时,将有更多的递归调用---从而更接近最坏的情况。将构造更多数量的递归调用,以分别在两个分区上执行快速排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

制作只做一件事的函数

来自分类Dev

当.stream()。parallel()做同一件事时,为什么存在Collection.parallelStream()?

来自分类Dev

具有两个指针的快速排序算法

来自分类Dev

多个有序数组的快速排序算法

来自分类Dev

让课堂专注于做一件事-实际上

来自分类Dev

这两段代码代表同一件事吗?有性能差异吗?

来自分类Dev

const和constexpr最终会是同一件事吗?

来自分类Dev

“ var”和“ variant”是同一件事吗?

来自分类Dev

延续单子和命令式单子在谈论同一件事吗?

来自分类Dev

如何在同一件事上显示字符串和变量?

来自分类Dev

使用FROM子句而不是JOIN子句联接表是同一件事吗?

来自分类Dev

同一件事被打印两次-JS数组

来自分类Dev

0.0.0.0:0和*:*代表同一件事吗?

来自分类Dev

android中的任务堆栈和后堆栈是同一件事吗

来自分类Dev

战舰游戏AI猜同一件事

来自分类Dev

使用env和export是同一件事吗?

来自分类Dev

同一件事立即冻结或起作用

来自分类Dev

不同目录中的相同名称是同一件事吗?

来自分类Dev

bootloader和bootmanager是同一件事吗?

来自分类Dev

可以使用ADD和LDUR完成同一件事吗?

来自分类Dev

XFS配额和linux配额是同一件事吗?

来自分类Dev

尝试在我的JavaScript代码中理解“ this”(一件事有效,另一件事无效)

来自分类Dev

在正则表达式中,捕获一件事,或另一件事,或两者兼而有之

来自分类Dev

Windows用户只是一件事

来自分类Dev

在iPad上显示一件事,在Apple TV上显示另一件事?

来自分类Dev

JLabel将文本从一件事更改为另一件事

来自分类Dev

如何选择一件事,如果条件为假,则选择另一件事

来自分类Dev

为什么javascript返回另一件事,而php又返回另一件事?

来自分类Dev

“哪个”报告一件事,实际命令是另一件事

Related 相关文章

  1. 1

    制作只做一件事的函数

  2. 2

    当.stream()。parallel()做同一件事时,为什么存在Collection.parallelStream()?

  3. 3

    具有两个指针的快速排序算法

  4. 4

    多个有序数组的快速排序算法

  5. 5

    让课堂专注于做一件事-实际上

  6. 6

    这两段代码代表同一件事吗?有性能差异吗?

  7. 7

    const和constexpr最终会是同一件事吗?

  8. 8

    “ var”和“ variant”是同一件事吗?

  9. 9

    延续单子和命令式单子在谈论同一件事吗?

  10. 10

    如何在同一件事上显示字符串和变量?

  11. 11

    使用FROM子句而不是JOIN子句联接表是同一件事吗?

  12. 12

    同一件事被打印两次-JS数组

  13. 13

    0.0.0.0:0和*:*代表同一件事吗?

  14. 14

    android中的任务堆栈和后堆栈是同一件事吗

  15. 15

    战舰游戏AI猜同一件事

  16. 16

    使用env和export是同一件事吗?

  17. 17

    同一件事立即冻结或起作用

  18. 18

    不同目录中的相同名称是同一件事吗?

  19. 19

    bootloader和bootmanager是同一件事吗?

  20. 20

    可以使用ADD和LDUR完成同一件事吗?

  21. 21

    XFS配额和linux配额是同一件事吗?

  22. 22

    尝试在我的JavaScript代码中理解“ this”(一件事有效,另一件事无效)

  23. 23

    在正则表达式中,捕获一件事,或另一件事,或两者兼而有之

  24. 24

    Windows用户只是一件事

  25. 25

    在iPad上显示一件事,在Apple TV上显示另一件事?

  26. 26

    JLabel将文本从一件事更改为另一件事

  27. 27

    如何选择一件事,如果条件为假,则选择另一件事

  28. 28

    为什么javascript返回另一件事,而php又返回另一件事?

  29. 29

    “哪个”报告一件事,实际命令是另一件事

热门标签

归档