后端岗位面试题更新 2026-08-05

怎么实现洗牌功能?(Knuth洗牌算法)

数字马力后端开发互联网/IT编码实现技术原理

考察说明

考察Fisher-Yates洗牌算法的理解与实现能力

回答思路

  1. 能正确描述Knuth洗牌(Fisher-Yates)的核心思想:从后往前遍历,每个位置与随机位置交换
  2. 能正确处理随机索引的范围,避免产生偏移或重复
  3. 能分析时间复杂度为O(n)且空间复杂度为O(1)
  4. 能识别并解释该算法确保每个排列等概率出现的原理
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。