- 2
- 0
- 约7.41千字
- 约 20页
- 2026-02-09 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年自动化软件工程师的面试题及答案
一、编程与算法题(共5题,每题10分,总分50分)
1.题目:
编写一个函数,实现二叉树的前序遍历(根节点-左子树-右子树),要求使用递归和非递归两种方式实现。假设二叉树节点定义如下:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
答案:
递归方式:
python
defpreorder_traversal_recursive(root):
ifnotroot:
return[]
result=[]
defdfs(node):
ifnotnode:
return
result.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
returnresult
非递归方式:
python
defpreorder_traversal_iterative(root):
ifnotroot:
return[]
result,stack=[],[root]
whilestack:
node=stack.pop()
result.append(node.val)
ifnode.right:
stack.append(node.right)
ifnode.left:
stack.append(node.left)
returnresult
解析:
递归方式通过函数调用自身实现遍历,逻辑清晰但可能因深度过大导致栈溢出。非递归方式使用栈模拟递归过程,适用于大规模数据,但代码稍复杂。两种方法时间复杂度均为O(n),空间复杂度递归为O(h),非递归为O(n)。
2.题目:
给定一个字符串,判断其是否为有效的括号组合(仅包含`()`、`[]`、`{}`)。例如:`()`、`()[]{}`有效,`(]`无效。
答案:
python
defisValid(s:str)-bool:
stack=[]
mapping={):(,]:[,}:{}
forcharins:
ifcharinmapping:
top_element=stack.pop()ifstackelse#
ifmapping[char]!=top_element:
returnFalse
else:
stack.append(char)
returnnotstack
解析:
使用栈匹配括号,遇到右括号时检查栈顶是否为对应左括号。若不匹配或栈为空时遇到右括号,则无效。遍历结束后栈应为空。时间复杂度O(n),空间复杂度O(n)。
3.题目:
实现快速排序算法,并说明其时间复杂度和稳定性。
答案:
python
defquick_sort(arr):
iflen(arr)=1:
returnarr
pivot=arr[len(arr)//2]
left=[xforxinarrifxpivot]
middle=[xforxinarrifx==pivot]
right=[xforxinarrifxpivot]
returnquick_sort(left)+middle+quick_sort(right)
解析:
快速排序通过分治思想实现,选择基准值(pivot)将数组分为小于、等于、大于三部分,再递归排序左右部分。平均时间复杂度O(nlogn),最坏O(n2)(基准值选择不当),空间复杂度O(logn)。快速排序不稳定,相同元素可能因分区改变相对顺序。
4.题目:
设计一个算法,找出无重复数字数组中的所有唯一三元组(a,b,c),满足a+b+c=0。例如:`[-1,0,1,2]`,输出`[(-1,0,1),(-1,2,1)]`。
答案:
python
defthreeSum(nums):
nums.sort()
result=[]
n=len(nums)
foriinrange(n):
ifi0andnums[i]==nums[i-1]:
continue
left,right=i+1,n-1
whileleftright:
total=nums[i]+nums[left]+nums[right]
iftotal==0:
result.appe
您可能关注的文档
- 公司融资中资本运作岗位的面试问题集.docx
- 建筑工程面试题及答案.docx
- 教育行业系统架构师面接题库.docx
- 建筑设计师助理面试技巧与题目.docx
- 2026年副主任医师晋升考试题库.docx
- 社交媒体运营面试题及账号运营案例含答案.docx
- 系统架构师考试题集.docx
- 2026年房地产经纪人实战指南专业面试题库与解析.docx
- 中国建筑集团项目经理面试题库及答案参考.docx
- 教育行业课程设计师面试题.docx
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
原创力文档

文档评论(0)