Update Q&A of hash_table and time_complexity Chapter (#1760)

* Update summary.md

@Richard-Zhao93 的回答非常好,同时觉得"如果在开头能了解到这部分s,对初学者来说,可能更容易接受这些陌生的概念。"的建议很有道理

* Update QA of time_complexity

* Enhance explanation of hash tables vs arrays

Clarify the advantages of hash tables over arrays for key-value mapping.

* Update summary.md

---------

Co-authored-by: Yudong Jin <krahets@163.com>
This commit is contained in:
Siz Long
2025-09-20 19:52:59 +08:00
committed by GitHub
parent 32dde5f82f
commit 790a6d17e1
2 changed files with 10 additions and 0 deletions

View File

@ -45,3 +45,7 @@
**Q**:为什么哈希表扩容能够缓解哈希冲突?
哈希函数的最后一步往往是对数组长度 $n$ 取模(取余),让输出值落在数组索引范围内;在扩容后,数组长度 $n$ 发生变化,而 `key` 对应的索引也可能发生变化。原先落在同一个桶的多个 `key` ,在扩容后可能会被分配到多个桶中,从而实现哈希冲突的缓解。
**Q**:如果为了高效的存取,那么直接使用数组不就好了吗?
当数据的 `key` 是连续的小范围整数时,直接用数组即可,简单高效。但当 `key` 是其他类型(例如字符串)时,就需要借助哈希函数将 `key` 映射为数组索引,再通过桶数组存储元素,这样的结构就是哈希表。