Skip to content

Commit

Permalink
auto commit
Browse files Browse the repository at this point in the history
  • Loading branch information
CyC2018 committed Mar 24, 2018
1 parent e00519d commit a9c355d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions notes/算法.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>

有序符号表的键需要实现 Comparable 接口。

查找的成本模型:键的比较次数,在不进行比较时使用数组的访问次数。
有序指的是支持 min() max() 等根据键的大小关系来实现的操作。

<font size=4> **3. 二分查找实现有序符号表** </font></br>
有序符号表的键需要实现 Comparable 接口。

使用一对平行数组,一个存储键一个存储值。
### 3. 二分查找实现有序符号表

需要创建一个 Key 类型的 Comparable 对象数组和一个 Value 类型的 Object 对象数组
使用一对平行数组,一个存储键一个存储值。其中键的数组为 Comparable 数组,值的数字为 Object 数组

rank() 方法至关重要,当键在表中时,它能够知道该键的位置;当键不在表中时,它也能知道在何处插入新键。

Expand Down
Binary file added pics/1984a822-da4e-4461-b826-55b798e2d419.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pics/aaa40d0a-0aff-4161-adde-8d7bf56dc4b9.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a9c355d

Please sign in to comment.