- 2
- 0
- 约9.14千字
- 约 27页
- 2026-11-06 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试算法题解析及编程技巧
一、排序算法题(3题,每题15分,共45分)
题目1(15分):快速排序的非递归实现
问题描述:
实现一个非递归版本的快速排序算法。输入一个整数数组`nums`,返回排序后的数组。要求:
1.不能使用递归,必须使用栈(或队列)模拟递归过程。
2.处理包含重复元素的数组时,要求时间复杂度最坏情况下不优于O(n2)。
3.给出代码并解释关键步骤。
答案与解析:
代码实现(Python):
python
defquick_sort_iterative(nums):
ifnotnums:
returnnums
stack=[(0,len(nums)-1)]
whilestack:
left,right=stack.pop()
ifleft=right:
continue
pivot=nums[right]
i=left
forjinrange(left,right):
ifnums[j]=pivot:
nums[i],nums[j]=nums[j],nums[i]
i+=1
nums[i],nums[right]=nums[right],nums[i]
stack.append((left,i-1))
stack
您可能关注的文档
最近下载
- 《12kV环网箱技术规范》.docx VIP
- CBT8522-2011 舾装码头设计规范.pdf VIP
- 民房施工安全协议书(完整版).docx VIP
- ISO_SAE 21434_2021 中文版 道路车辆网络安全工程标准.docx VIP
- 英语二历年考研真题2020考研英语(二)真题及答案.pdf VIP
- 考研英语写作范文10篇(英语一).docx VIP
- 《姑息治疗与安宁疗护基本用药指南》(2021)主要内容.docx VIP
- 氢气储存和运输 配套课件.ppt
- 养老机构护理员技能实操考核规范.docx VIP
- CM-074-V01 硅合金和铁合金生产中提高现有埋弧炉的电效率.pdf VIP
原创力文档

文档评论(0)