数据结构导论
历年真题
有一个整数序列,其输入顺序为20,30,90,-10,45,78,试利用栈将其输出序列改变为30,-10,45,90,78,20,写出该整数序列进栈和出栈的操作步骤。(用push(x)表示进栈,pop(x)表示x出栈)
设有字符集{,A,B,C,D,E,F},各字符使用频率对应为{2,4,5,13,9,18},试画出哈夫曼树(要求任一结点的左孩子权值小于右孩子)。
已知散列表的长度为11,散列函数H(key)=key%11,采用线性探测法解决冲突,试用关键字值的序列:75,25,80,35,60,46,50,55建立散列表。
试用冒泡法对数列(45,73,12,23,52,5,38)进行递增排序,写出第1、2、3、4趟排序结果,并给出冒泡排序算法的时间复杂度。
以二叉链表作存储结构,试写出二叉链表的结构类型定义,并编写求二叉树叶子结点个数的算法。
写出直接插入排序算法。
数据的最小标识单位是
下面程序段的时间复杂度为 for (int i=0; i< n; i++) for (int j=0; j< n; j++) a[i][j]=i* j;
设带头结点的单向循环链表的头指针变量为head,则空循环链表的判定条件是
设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为
«
1
2
...
13
14
15
16
17
18
19
...
62
63
»