数据结构期末考试再复习

这次是帮别人复习复习数据结构。重新看这些问题,除了图论的那些算法,有些东西还真的是忘记了,不过看了下书还好想起来了。



1、10个元素的有序表,等概率条件下折半查找成功的平均查找长度是     29/10    

 画出判定树,其实就是二分转二叉树




数量*层数累加即可。


2. 设有序顺序表中的元素依次为 017, 094, 154, 170, 275, 503, 509,512, 553, 612, 677, 765, 897, 908。试画出对其进行折半搜索时的判定树, 并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。



3.设哈希表长m=14,哈希函数H(key)=key%11,表中已有4个结点:
        addr(15)=4    addr(38)=5   addr(61)=6   addr(84)=7
        其余地址为空
如果采用二次探测再散列处理冲突,关键字为49的结点的地址是     9      。


思路:
15,38,61,84用哈希函数H(key)=key%11计算后得地址:4,5,6,7
49计算后为5,发生冲突.
用二次探测再散列法解决冲突:
1:(key+1^2)%11=(49+1)%11=6,仍然发生冲突.
2:(key-1^2)%11=(49-1)%11=4,仍然发生冲突.
3:(key+2^2)%11=(49+4)%11=9,不再发生冲突.

4、已知待散列存储的线性表为(25,48,32,50,68),散列用的一维地址空间为[0..6],假定选用散列函数为h(k)=k%7,若发生冲突则菜用线性探测再散列的开放定地法解决,试计算出每一元素(即关键字)的存储地址,并计算出等概率条件下的平均查找长度。

       三、解:

h(25)=25%7=4    h(48)=48%7=6

h(32)=32%7=4    h1=(4+1)%7=5

h(50)=50%7=1

h(68)=68%7=5

h1=(5+1)%7=6

h2=(5+2)%7=0

68

50

25

32

48

ASL=(1*3+2*1+3*1)/5=1.6

5.二叉树的复习: http://blog.csdn.net/fansongy/article/details/6798278/


6.图论中的几个算法。

原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256594.html