后端岗位面试题更新 2026-08-05
怎么实现洗牌功能?(Knuth洗牌算法)
数字马力后端开发互联网/IT编码实现技术原理
考察说明
考察Fisher-Yates洗牌算法的理解与实现能力
回答思路
- 能正确描述Knuth洗牌(Fisher-Yates)的核心思想:从后往前遍历,每个位置与随机位置交换
- 能正确处理随机索引的范围,避免产生偏移或重复
- 能分析时间复杂度为O(n)且空间复杂度为O(1)
- 能识别并解释该算法确保每个排列等概率出现的原理
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。