- 2
- 0
- 约7.42千字
- 约 24页
- 2026-08-08 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试宝典算法编程经典题目集
一、排序算法
共3题,每题15分
1.快速排序划分实现
题目:
实现快速排序算法的划分函数(Partition),输入为一个数组`arr`和两个索引`low`、`high`,返回划分后的轴点(pivot)索引。假设轴点选择最后一个元素。
示例:
输入`arr=[8,3,1,7,0,10,2]`,`low=0`,`high=6`,输出轴点索引(例如,返回4,因为`arr[4]=0`)。
答案:
python
defpartition(arr,low,high):
pivot=arr[high]
i=low-1
forjinrange(low,high):
ifarr[j]=pivot:
i+=1
arr[i],arr[j]=arr[j],arr[i]
arr[i+1],arr[high]=arr[high],arr[i+1]
returni+1
解析:
快速排序的核心是划分函数,通过轴点将数组分为两部分:左部分≤轴点,右部分轴点。划分过程中,`i`指向比轴点小的最后一个元素,`j`遍历数组,当`arr[j]=pivot`时交换`arr[i]`和`arr[j]`
原创力文档

文档评论(0)