专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
分而治之方法还可以用于实现另一种完全不同的排序方法,这种排序法称为快速排序(quicksort)。在这种方法中,n个元素被分成三段(组):左段left,右段right和中段middle。中段仅包含一个元素。左段中各元素都小于等于中段元素,右段中各元素都大于等于中段元素。因此left和right中的元素可以独立排序,并且不必对left和right的排序结果进行合并。middle中的元素被称为支点(pivot)。图14-9中给出了快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为middle,该元素为支点把余下的元 [阅读全文] [PDF]
对于给定的n个元素的数组a[0:n-1],要求从中找出第k小的元素。当a[0:n-1]被排序时,该元素就是a[k-1]。假设n=8,每个元素有两个域key和ID,其中key是一个整数,ID是一个字符。假设这8个元素为[(12,a),(4,b),(5,c),(4,d),(5,e),(10,f),(2,g),(20,h)],排序后得到数组[(2,g),(4,d),(4,b),(5,c),(5,e),(10,f),(12,a),(20,h)]。如果k=1,返回ID为g的元素;如果k=8,返回ID为h的元素;如果k=6,返回是ID为f的元素;如果k=2,返回ID为 [阅读全文] [PDF]
1 共2条 分1页