数据结构

对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度确实分别对应为O(1)和O(N)。

T

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。

T

1.用数组表示线性表的优点是()。

A.便于插入和删除操作
B.便于随机存取
C.可以动态地分配存储空间
D.不需要占用一片相邻的存储空间

2.下面的叙述正确的是()

A.线性表在链式存储时,所有元素节点的存储单元是连续的
B.线性表在链式存储时,删除第i个元素的时间同i的值无关
C.线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D.线性表在顺序存储时,所有元素的存储单元是连续的

3.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()

A.必须是连续的
B.连续或不连续都可以
C.部分地址必须是连续的
D.一定是不连续的

4.利用大小为n的数组(下标从0到n-1)存储一个栈时,假定栈从数组另一头开始且top==n表示栈空,则向这个栈插入一个元素时,修改top指针应当执行:

A.top=0
B.top++
C.top–
D.top不变

5.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈( i =1,2)栈顶元素所在的下标,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()。

A.|top[2]-top[1]|=0
B.top[1]+1=top[2]
C.top[1]+top[2]=m
D.top[1]=top[2]

6.在少用一个元素空间的循环队列(m为最大队列长度)是满队列的条件( )。

A.rear==front
B.(rear+1)%m==front
C.(rear+1)==front
D.front==(front+1)%m

7.二叉树一定是()。

A.有序树
B.完全二叉树
C.满二叉树
D.非完全二叉树

8.求二叉树的高度

1
2
3
4
5
6
7
8
9
10
int Depth(BiTree T){
int m,n;
if(T==NULL) return 0;
else{
m=Depth(T->lchild);
n=Depth(T->rchild);
if(m>n) return (m+1);
else return(n+1);
}
}

9.邻接矩阵深度优先


解答:v0开始,到v1,以此类推访问没访问过的1

10.邻接表深度广度优先

11.邻接矩阵深度广度优先