- 0
- 0
- 约5.1千字
- 约 19页
- 2026-01-13 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试技巧与问题解析大全
一、编程基础与数据结构(10题,每题10分)
1.题目:
请实现一个函数,输入一个正整数`n`,返回`n`的平方根的整数部分。要求不使用`math.sqrt`函数,时间复杂度不超过O(logn)。
答案:
python
defmy_sqrt(n):
left,right=0,n
whileleft=right:
mid=left+(right-left)//2
ifmidmid=n(mid+1)(mid+1):
returnmid
elif(mid+1)(mid+1)=n:
left=mid+1
else:
right=mid-1
returnright
解析:
二分查找法适用于求解平方根的整数部分,通过不断缩小查找范围,最终确定符合条件的最大整数。关键在于比较`midmid`与`n`的大小关系,调整左右边界。
2.题目:
请解释什么是“平衡二叉树”(AVL树),并描述其如何通过旋转操作保持平衡。
答案:
平衡二叉树(AVL树)是严格满足“左子树高度与右子树高度差不超过1”的二叉搜索树。通过左旋、右旋或左右旋、右左旋四种旋转操作,在插入或删除节点后恢复平衡。
解析:
旋转操作包括:
-左旋
原创力文档

文档评论(0)