Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
使用快速排序查找数组中第 k 个最小的项 => 预期运行时间?
如果我使用快速排序的修改版本来查找数组中第 k 个最小的项目 为什么预期运行时间是 O n 如 Programming Pearls 一书中所述 我正在使用的算法执行以下操作 1 Runs quick sort on the array 2
Sorting
QuickSort
二叉堆对于优先级队列的优点?
看来我错过了一些非常简单的东西 优先级队列的二进制堆与快速排序的值数组相比有什么优势 在这两种情况下 我们将值保存在数组中 插入的时间复杂度为 O logN 删除最大的时间复杂度为 O 1 在这两种情况下 给定元素数组的初始构造都是 O N
datastructures
Heap
QuickSort
PriorityQueue
查找数组中的 K 个最小值(堆 vs QuickSelect)
假设我们有一个数组 我们希望找到它的 K 个最小值 有两种方法 1 使用快速选择算法 O n 时间复杂度和O 1 空间 2 使用最小堆数据结构 O NlogK 时间复杂度和O K 空间 我想知道什么时候一个比另一个更受青睐 我想这两个都可以
Arrays
datastructures
QuickSort
快速排序和调整快速排序有什么区别?
快速排序和调整快速排序之间的根本区别是什么 快速排序有何改进 Java 如何决定使用它而不是合并排序 正如蜥蜴比尔所说 调整的快速排序仍然具有与基本快速排序相同的复杂性 O N log N 平均复杂度 但调整的快速排序使用一些不同的方法来尝
Java
Algorithm
Sorting
QuickSort
快速排序和霍尔分区
我很难将带有 Hoare 分区的 QuickSort 翻译成 C 代码 并且无法找出原因 我正在使用的代码如下所示 void QuickSort int a int start int end int q HoarePartition a
c
Algorithm
Sorting
QuickSort
datapartitioning
对字符串数组使用快速排序
我是一名编程学生 我不会发布整个作业 而是请求帮助解决我已经尝试了几个小时才能理解的问题 我的任务是使用快速排序方法对字符串数组进行排序 作为这个问题的一部分 我承担的其他所有任务都很好 但是当我通过打印字符串数组来测试排序方法时 它完全混
Java
Arrays
string
Sorting
QuickSort
Python 中的快速排序实现
我正在尝试在 python 中实现快速排序 但是 我的代码没有正确排序 不完全 例如 在输入数组 5 3 4 2 7 6 1 上 我的代码输出 1 2 3 5 4 6 7 所以 最终结果插入了 4 和 5 我承认我对 python 有点生疏
python
recursion
QuickSort
3路快速排序(C实现)
我试着实施 https github com p1v0t Sort一些算法是使用 C 的纯通用算法 我坚持使用 3 路快速排序 但不知何故 实现没有给出正确的输出 输出几乎已排序 但某些键不在应有的位置 代码如下 提前致谢 include
c
Sorting
QuickSort
partitioning
快速排序特殊情况 - 似乎是 K&R 的错误算法
我在理解 K R 的快速排序算法 没有指针的简化版本 时遇到问题 Dave Gamble 已经在这里提供了详尽的解释解释 https stackoverflow com questions 1231254 kr qsort example
c
QuickSort
这里使用尾递归有什么好处?
我一直在阅读描述如何通过使用尾递归版本来降低快速排序的空间复杂度的文章 但我无法理解这是怎么回事 以下是两个版本 QUICKSORT A p r q PARTITION A p r QUICKSORT A p q 1 QUICKSORT A
Algorithm
QuickSort
tailrecursion
快速排序时间复杂度最佳情况输入
我必须找到 C 程序中最佳情况输入的快速排序的时间复杂度 并且我选择了数组的最后一个元素作为枢轴 现在我知道在最佳情况下必须输入什么输入值 即将第一个中间元素保留在最后一个位置 枢轴 下一个枢轴应该是下一个中间元素 但我必须生成这种最好情况
Algorithm
Sorting
input
timecomplexity
QuickSort
快速排序 - 使其稳定的条件
如果排序算法保留具有 equals 键的任意两个元素的相对顺序 则该算法是稳定的 快速排序在什么条件下稳定 当没有项被传递时 快速排序是稳定的 除非它具有较小的键 还有哪些条件可以使其稳定 嗯 使用 O N 空间而不是就地不稳定实现使用的
Sorting
QuickSort
QuickSort对递归深度的估计
递归深度是 QuickSort 达到其基本情况之前连续递归调用的最大数量 并注意它 递归深度 是一个随机变量 因为它取决于所选的主元 我想要的是估计快速排序的最小可能和最大可能递归深度 以下过程描述了 QuickSort 通常实现的方式 Q
Algorithm
recursion
QuickSort
多线程排序算法
我必须在 Java 中为我的算法类实现多线程合并排序和快速排序 并将它们与我的单线程版本进行比较 不过 我以前从未使用过多线程 我的代码可以是多线程的还是必须重新开始 这是我的单线程算法代码 归并排序 sort 方法是我必须实现的策略模式的
Java
Multithreading
QuickSort
MergeSort
伪快速排序时间复杂度
我知道快速排序有O n log n 平均时间复杂度 经常用于演示函数式语言的简洁性的伪快速排序 仅当您从足够远的地方看时 具有适当高的抽象级别时 它才是快速排序 如下 在 Haskell 中给出 quicksort Ord a gt a g
Haskell
timecomplexity
QuickSort
是否可以只通过一次就对列表进行快速排序?
我正在学习haskell 我看到的函数定义是 quickSort x xs quickSort less x equal quickSort more where less filter lt x xs equal filter x xs
Sorting
Haskell
QuickSort
differencelists
快速排序 - 哪个子部分应该首先排序?
我正在阅读一些文本 其中声称有关两个递归快速排序调用的顺序 首先调用较小的子问题很重要 这与尾递归结合使用可确保堆栈深度为 log n 我完全不确定这意味着什么 为什么我应该首先对较小的子数组调用快速排序 将快速排序视为隐式二叉树 枢轴是根
Algorithm
Sorting
QuickSort
为什么在快速排序中选择随机主元
So choosing a pivot at random has O n2 running at worst case but when the pivot is chosen as the average of min value an
Algorithm
Sorting
QuickSort
快速排序递归深度 O(n) 的堆栈空间不会导致堆栈溢出?
在最坏的情况下 快速排序递归深度需要 O n 的堆栈空间 为什么在最坏的情况下它不会导致大集合的堆栈溢出 顺序颠倒 如果在枢轴的两侧进行递归 那么在最坏的情况下 它确实会导致足够大的数据的堆栈溢出 这就是为什么没有人在生产代码中使用简单的快
performance
Algorithm
Sorting
datastructures
QuickSort
usort() 排序算法如何工作?
我有一个 usort 示例 我添加了一些 echo 语句来查看代码如何工作
php
QuickSort
usort
1
2
3
»