如何告诉快速排序算法应终止?

好,所以我才刚刚开始在学校学习排序算法。我认为我很了解快速排序的概念,因为我可以在一张纸上执行它。但是,有了一张纸,我知道什么时候停止,那是数组排序的时间。但是,如果我一直检查数组以查看是否已排序,这违背了快速排序的目的(我认为)是(不是我想)检查递归是否对它进行了很多次排序。当按定义对数组进行排序或是否有其他终止方法时,我是否必须保持递归直到数组中仅剩1个元素?

modewei84 回答:如何告诉快速排序算法应终止?

  

在定义中对数组进行排序或是否有其他终止方法时,我是否必须继续递归到数组中仅剩1个元素?

是的,这正是终止快捷排序的方式。

,

您需要进行提及的检查并不意味着它效率低下。这与selection sortsbubble sorts一样,后者也必须检查各种条件并交换元素。这个想法是quicksort不需要进行那么多检查,因此速度更快。

为什么没有足够的打印说明来监视您的工作并将其与纸上打印的内容进行比较。

本文链接:https://www.f2er.com/3054080.html

大家都在问