auto commit
This commit is contained in:
parent
e00519d06a
commit
a9c355df4a
20
notes/算法.md
20
notes/算法.md
|
@ -878,27 +878,25 @@ public static Comparable select(Comparable[] a, int k) {
|
|||
|
||||
# 五、查找
|
||||
|
||||
本章使用三种经典的数据结构来实现高效的符号表:二叉查找树、红黑树和散列表。
|
||||
符号表示一种存储键值对的数据结构,支持两种操作:插入一个新的键值对;根据给定键得到值。
|
||||
|
||||
## 符号表
|
||||
|
||||
<font size=4> **1. 无序符号表** </font></br>
|
||||
### 1. 无序符号表
|
||||
|
||||
<div align="center"> <img src="../pics//b69d7184-ab62-4957-ba29-fb4fa25f9b65.jpg"/> </div><br>
|
||||
<div align="center"> <img src="../pics//aaa40d0a-0aff-4161-adde-8d7bf56dc4b9.jpg"/> </div><br>
|
||||
|
||||
<font size=4> **2. 有序符号表** </font></br>
|
||||
### 2. 有序符号表
|
||||
|
||||
<div align="center"> <img src="../pics//ba6ae411-82da-4d86-a434-6776d1731e8e.jpg"/> </div><br>
|
||||
<div align="center"> <img src="../pics//1984a822-da4e-4461-b826-55b798e2d419.jpg"/> </div><br>
|
||||
|
||||
有序指的是支持 min() max() 等根据键的大小关系来实现的操作。
|
||||
|
||||
有序符号表的键需要实现 Comparable 接口。
|
||||
|
||||
查找的成本模型:键的比较次数,在不进行比较时使用数组的访问次数。
|
||||
### 3. 二分查找实现有序符号表
|
||||
|
||||
<font size=4> **3. 二分查找实现有序符号表** </font></br>
|
||||
|
||||
使用一对平行数组,一个存储键一个存储值。
|
||||
|
||||
需要创建一个 Key 类型的 Comparable 对象数组和一个 Value 类型的 Object 对象数组。
|
||||
使用一对平行数组,一个存储键一个存储值。其中键的数组为 Comparable 数组,值的数字为 Object 数组。
|
||||
|
||||
rank() 方法至关重要,当键在表中时,它能够知道该键的位置;当键不在表中时,它也能知道在何处插入新键。
|
||||
|
||||
|
|
BIN
pics/1984a822-da4e-4461-b826-55b798e2d419.jpg
Normal file
BIN
pics/1984a822-da4e-4461-b826-55b798e2d419.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
BIN
pics/aaa40d0a-0aff-4161-adde-8d7bf56dc4b9.jpg
Normal file
BIN
pics/aaa40d0a-0aff-4161-adde-8d7bf56dc4b9.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
Loading…
Reference in New Issue
Block a user