华为od 面试八股文_Python_05_含答案
目录
3:你能想到其他语言为什么还要保留红黑树的实现呢?不都直接用hashTable?
1.有序性 (Ordering):红黑树最核心、最无可替代的优势
2.稳定的性能与可预测性 (Stable Performance & Predictability)
7:Python的迭代器(Iterator)和生成器(Generator)有什么区别?
1:dict和set的区别?
dict (字典): 存储“键-值”对 (Key-Value Pairs)
- 本质: 一个映射 (Mapping) 结构。它的每一个元素都由两部分组成:一个唯一的、不可变的 key,以及一个与之关联的 value。
- 核心用途: 根据一个唯一的标识符(key)来快速存储和检索一个任意的数据(value)。
set (集合): 只存储“键”本身 (Keys Only)
- 本质: 一个数学意义上的集合。它只关心一个元素是否存在于这个集合中,不关心这个元素对应的值是什么(因为它没有值)。
- 核心用途: 存储一系列唯一且无序的元素,主要用于快速检查成员是否存在、去重以及进行集合运算。
针对Python而言,dict 和 set 的底层实现都是哈希表(Hash Table)。
- 极高的平均时间复杂度:无论是添加、删除还是查找元素,它们的平均时间复杂度都能达到惊人的 O(1)。
- 对元素