一、名词解释:(每题3分,共15分)
a 、数据类型
b、时间复杂度
c、静态链表
d、循环队列
e、拓扑排序
二、给出下列结构的存储描述(每题3分,共15分)
a、广义表(给出一种)
b、双向循环链表
c、线索二叉树
d、邻接表
e 、串
三、利用两个栈s1,s2模拟一个队列时如何用栈的运算(push,pop,top,sempty)来实现下列队列的运算enq(入队),deq(出队),qempty(测队空),试写出算法。(每个算法4分共12分)
四、顺序检索时间为O(n),折半检索时间为O( ),Hash方法为O(1),为什么有高效的检索算法,而低效率的方法不被放弃。(8分)
五、给出折半查找的递归算法,并给出算法时间复杂度性分析(5分)
六、给出以十字链表作存储结构,建立图的算法,输入(i,j,v)其中i,j为顶点号,v为权值。(10分)
七、写出在中序线索二叉树里;找指定结点在后序下的前驱结点的算法。(10分)
八、分别以不同存储结构实现线性表就地逆转的算法,即在原表的存储空间内将线性表(a1,a2,…,an)逆转为(an,an-1,…a2,a1)
a.以一维数组作存储结构; b.一单链表作存储结构。(10分)
九、证明:如果给了一个二叉树结点的先序序列和中序序列,则此二叉树即可构造出来,如果给了先序序列和后序序列行吗?给了后序序列和中序序列呢?如果不行请举反例。(10分)