我正在学习Sedgwick的书中的快速入门。他的一个运动问题是
编写一个程序,对已知只包含两个不同键值的数组进行排序。
View Solution
我想我理解这个解决方案。它以O(n)运行。但是,我不了解这个和quicksort之间的关系?我没有看到像快速排序那样的任何分区。这里所做的一切都是较小的存款,以及lt
和gt
指向的相应边界之外的更多元素。
答案 0 :(得分:2)
解决方案就像快速通过whit单程一样。
快速排序伪代码:
1. Check stopping condition
2. Pick one number called pivot
3. Move smaller or equal elements than pivot on left part of array
4. Move greater elements than pivot on right part of array
5. Quicksort left part
6. Quicksort right part
你寻找的灵魂与quicsort exept 1,5,6
相同1. Pick one number called pivot
2. Move smaller or equal elements than pivot on left part of array
3. Move greater elements than pivot on right part of array