QuickSort分区枢轴异常

问题描述 投票:-1回答:1

考虑一个数组A = {1,2,0,4,5}我如何通过在分区过程中将中间元素作为枢轴进行快速排序来对其进行排序?...数据透视变为“0”,因此在此数组中,没有有效的左指针。这个异常是如何解决的?任何人都能解释一下这个算法的分步工作吗?

algorithm quicksort partitioning array-algorithms
1个回答
1
投票

多年来一直在挑选一个枢轴算法进行了一系列的改进,第一个使用最后一个元素作为枢轴,很快就改进了挑选一个随机元素,这可以防止对算法的恶意攻击,然后挑选x随机的媒体。

一个median of medians,它将元素分成30%/ 70%和70%/ 30%,因此始终保证至少30%的进展,一个很好的article解释这一点,最近(2017年)由Alexandrescu et al通过自适应算法进行了改进。

© www.soinside.com 2019 - 2024. All rights reserved.