数据结构导论
免费题库
设散列函数为H(key)=key%ll,散列表长度为11(散列地址空间为0・・・10),在给定表(SUN,MON,TUE,WED,THU.FRI,SAT)中,取单词的第一个字母在英语字母表中的序号为键值K,构造一散列表,并用线性探测法解决有关的地址冲突。
给出下图中无向图幻的邻接矩阵和邻接表。
若待排序的序列中存在多个记录具有相同的键值,经过排序,这些记录的相对次序仍然保持不变,则称这种排序方法是_____的,否则称为_____的。
设x,Y是图G中的两个点,则(x,y)与(y,x)被认为是_____边,但<x,y>与<y,x>是_____的两条弧。
深度为k(k≥1)的二叉树至多有______个结点。
树在数据结构中常采用孩子链表法、孩子兄弟链表法和______三种存储结构表示。
以二叉链表作为存储结构,编写求二叉树叶子数的算法。
在一棵具有n个结点的完全二叉树中,从树根起,自上而下、自左至右地给所有结点编号。设根结点编号为1,若编号为i的结点有右孩子,那么其右孩子的编号为_______。
修改冒泡排序法以实现双向冒泡排序。双向冒泡排序指第一次把最大记录放到表尾,第二次把最小记录放到表头,如此反复进行。试编写修改后的算法:void dbubble(int a[],int n)。
设有两个散列函数H₁(k)=k mod 13和H₂(k)=k mod 11+1,散列表为T[0・・・12],用双重散列解决冲突。函数H₁用来计算散列地址,当发生冲突时,再用函数H₂计算散列地址,假定在某一时刻表T的状态为:下一个被插入的关键码是42,其插入的位置是______。
«
1
2
...
14
15
16
17
18
19
20
...
34
35
»