auto commit

This commit is contained in:
CyC2018 2018-03-24 16:50:52 +08:00
parent e00519d06a
commit a9c355df4a
3 changed files with 9 additions and 11 deletions

View File

@ -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() 方法至关重要,当键在表中时,它能够知道该键的位置;当键不在表中时,它也能知道在何处插入新键。

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB