知识点标签

数据结构面试题解析第 2 页

数据结构相关面试题解析,按真实面经题目沉淀核心机制、易错点和面试官追问。

59 道题 5 个岗位 10 个公司

数据结构相关面试题第 2 页

如何用回溯法生成全排列?

如何用回溯法生成全排列?这道腾讯牛客题的关键是围绕“回溯生成全排列”讲清概念、机制、取舍和边界。用回溯生成全排列,维护当前路径 path 和 used 标记。每一层选择一个未使用元素加入路径,递归到长度为 n 时收集一个排列,然后撤销选择继续尝试。

如何判断单链表是否有环?

如何判断单链表是否有环?这道腾讯牛客题的关键是围绕“链表判环与快慢指针”讲清概念、机制、取舍和边界。判断链表是否有环,常用 Floyd 快慢指针。慢指针每次走一步,快指针每次走两步;如果链表有环,快指针最终会在环内追上慢指针;如果无环,快指针会先走到 null。

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?这道腾讯牛客题的关键是围绕“数据库索引为什么常用 B+ 树”讲清概念、机制、取舍和边界。数据库索引常用 B+ 树,是因为它适合磁盘页和范围查询。B+ 树分叉多、树高低,非叶子节点只存 key 和子页指针,叶子节点顺序保存数据或主键并通过链表相连,能减少随机 I/O 并高效范围扫描。

二叉树有哪些基本性质和特点?

二叉树有哪些基本性质和特点?这道腾讯牛客题的关键是围绕“二叉树基本性质”讲清概念、机制、取舍和边界。二叉树每个节点最多有两个孩子,可分为普通二叉树、满二叉树、完全二叉树、平衡二叉树和二叉搜索树等。常见性质包括第 i 层最多 2^(i-1) 个节点,深度为 h 的二叉树最多 2^h-1 个节点。

快速排序的过程、时间复杂度和常见优化方式是什么?

快速排序的过程、时间复杂度和常见优化方式是什么?这道腾讯牛客题的关键是围绕“快速排序流程与优化”讲清概念、机制、取舍和边界。快速排序的过程是选 pivot,执行 partition,把小于 pivot 的元素放左侧、大于 pivot 的元素放右侧,然后递归排序左右子区间。平均时间 O(n log n),最坏 O(n^2),递归栈平均 O(log n)。

常见排序算法中哪些是稳定排序?

常见排序算法中哪些是稳定排序?这道腾讯牛客题的关键是围绕“排序稳定性”讲清概念、机制、取舍和边界。排序稳定性指相等 key 的元素在排序后仍保持原来的相对顺序。常见稳定排序包括冒泡排序、插入排序、归并排序、计数排序、基数排序和桶排序的稳定实现;常见不稳定排序包括快速排序、堆排序、选择排序和希尔排序。

树和堆这两种数据结构有什么区别?

树和堆这两种数据结构有什么区别?这道腾讯牛客题的关键是围绕“树与堆数据结构区别”讲清概念、机制、取舍和边界。树是一类层级数据结构,每个节点可以有子节点;堆通常是满足堆序性质的完全二叉树,是树的一种特殊形式。最大堆父节点不小于子节点,最小堆父节点不大于子节点。