This commit is contained in:
krahets 2023-05-17 20:36:51 +08:00
parent 35976ef626
commit adfb4e093e

View file

@ -24,10 +24,10 @@ comments: true
## 3.5.2.   Q & A
**Q**为什么哈希表同时包含线性数据结构和非线性数据结构?
!!! question "为什么哈希表同时包含线性数据结构和非线性数据结构?"
**A**哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树)数据结构。
哈希表底层是数组,而为了解决哈希冲突,我们可能会使用“拉链法”(后续散列表章节会讲)。在拉链法中,数组中每个地址(桶)指向一个链表;当这个链表长度超过一定阈值时,又可能被转化为树(通常为红黑树)。因此,哈希表可能同时包含线性(数组、链表)和非线性(树)数据结构。
**Q**char 类型的长度是 1 bytes 吗?
!!! question "char 类型的长度是 1 bytes 吗?"
**A**这个与编程语言采用的编码方法有关。例如Java, JS, TS, C# 都采用 UTF-16 编码(保存 Unicode 码点),因此 char 类型的长度为 2 bytes 。
这个与编程语言采用的编码方法有关。例如Java, JS, TS, C# 都采用 UTF-16 编码(保存 Unicode 码点),因此 char 类型的长度为 2 bytes 。