mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-25 11:13:38 +08:00
deploy
This commit is contained in:
@ -1809,13 +1809,13 @@
|
||||
|
||||
<p>链式地址下,哈希表的操作方法包括:</p>
|
||||
<ul>
|
||||
<li><strong>查询元素</strong>:输入 key ,经过哈希函数得到数组索引,即可访问链表头结点,然后遍历链表并对比 key 以查找目标键值对。</li>
|
||||
<li><strong>添加元素</strong>:先通过哈希函数访问链表头结点,然后将结点(即键值对)添加到链表中。</li>
|
||||
<li><strong>删除元素</strong>:根据哈希函数的结果访问链表头部,接着遍历链表以查找目标结点,并将其删除。</li>
|
||||
<li><strong>查询元素</strong>:输入 key ,经过哈希函数得到数组索引,即可访问链表头节点,然后遍历链表并对比 key 以查找目标键值对。</li>
|
||||
<li><strong>添加元素</strong>:先通过哈希函数访问链表头节点,然后将节点(即键值对)添加到链表中。</li>
|
||||
<li><strong>删除元素</strong>:根据哈希函数的结果访问链表头部,接着遍历链表以查找目标节点,并将其删除。</li>
|
||||
</ul>
|
||||
<p>尽管链式地址法解决了哈希冲突问题,但仍存在一些局限性,包括:</p>
|
||||
<ul>
|
||||
<li><strong>占用空间增大</strong>,由于链表或二叉树包含结点指针,相比数组更加耗费内存空间;</li>
|
||||
<li><strong>占用空间增大</strong>,由于链表或二叉树包含节点指针,相比数组更加耗费内存空间;</li>
|
||||
<li><strong>查询效率降低</strong>,因为需要线性遍历链表来查找对应元素;</li>
|
||||
</ul>
|
||||
<p>为了提高操作效率,<strong>可以将链表转换为「AVL 树」或「红黑树」</strong>,将查询操作的时间复杂度优化至 <span class="arithmatex">\(O(\log n)\)</span> 。</p>
|
||||
|
Reference in New Issue
Block a user