Skip to content

Commit

Permalink
fix link error
Browse files Browse the repository at this point in the history
  • Loading branch information
marchtea committed May 22, 2014
1 parent 87a182b commit 16d44b7
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions ebook/zh/09.02.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ HASH主要用于信息安全领域中加密算法,它把一些不同长度的

数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法——拉链法,我们可以理解为“链表的数组”,如图:

![](/ebook/images/7/7.3.1.jpg)
![](../images/7/7.3.1.jpg)

左边很明显是个数组,数组的每个成员包括一个指针,指向一个链表的头,当然这个链表可能为空,也可能元素很多。我们根据元素的一些特征把元素分配到不同的链表中去,也是根据这些特征,找到正确的链表,再从链表中找出这个元素。

Expand Down Expand Up @@ -134,7 +134,7 @@ index = (value * 2654435769) >> 28

如果用这种斐波那契散列法的话,那上面的图就变成这样了:

![](/ebook/images/7/7.3.2.jpg)
![](../images/7/7.3.2.jpg)

注:用斐波那契散列法调整之后会比原来的取摸散列法好很多。

Expand Down
6 changes: 3 additions & 3 deletions ebook/zh/09.05.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所有Bit位都置为0(如下图:)

![](/ebook/images/9/9.2/9.2.1.gif)
![](../images/9/9.2/9.2.1.gif)

然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作 p+(i/8)|(0×01<<(i%8)) 当然了这里的操作涉及到Big-ending和Little-ending的情况,这里默认为Big-ending),因为是从零开始的,所以要把第五位置为一(如下图):

![](/ebook/images/9/9.2/9.2.2.gif)
![](../images/9/9.2/9.2.2.gif)

然后再处理第二个元素7,将第八位置为1,,接着再处理第三个元素,一直到最后处理完所有的元素,将相应的位置为1,这时候的内存的Bit位的状态如下:

![](/ebook/images/9/9.2/9.2.3.gif)
![](../images/9/9.2/9.2.3.gif)

然后我们现在遍历一遍Bit区域,将该位是一的位的编号输出(2,3,4,5,7),这样就达到了排序的目的。下面的代码给出了一个BitMap的用法:排序。

Expand Down
10 changes: 5 additions & 5 deletions ebook/zh/10.01.03.md
Original file line number Diff line number Diff line change
Expand Up @@ -1333,15 +1333,15 @@ int main( void )
最后,再看一下,运行效果(图中美女为老乡+朋友,何姐08年照):
![](/ebook/images/10/10.1.3/10.1.3.1.jpg)
![](../images/10/10.1.3/10.1.3.1.jpg)
![](/ebook/images/10/10.1.3/10.1.3.2.jpg)
![](../images/10/10.1.3/10.1.3.2.jpg)
![](/ebook/images/10/10.1.3/10.1.3.3.jpg)
![](../images/10/10.1.3/10.1.3.3.jpg)
![](/ebook/images/10/10.1.3/10.1.3.4.jpg)
![](../images/10/10.1.3/10.1.3.4.jpg)
![](/ebook/images/10/10.1.3/10.1.3.5.jpg)
![](../images/10/10.1.3/10.1.3.5.jpg)
完。
Expand Down

0 comments on commit 16d44b7

Please sign in to comment.