1、线性表的各种基本操作在顺序存储结构上的实现均比在链式存储结构上的实现效率要低。
( × )2、一个有向图的邻接表和逆邻接表中表结点的个数一定相等。
( × )3、先序遍历森林和先序遍历与该森林相对应的二叉树,其结果不同。
( √ )4、不使用递归,也可实现二叉树的先序、中序和后序遍历。
( √ )5、散列法存储的基本思想是由关键字的值决定数据的存储地址。
( √ )6、采用折半查找法对有序表进行查找总是比采用顺序查找法对其进行查找要快。
( √ )7、在任何情况下,快速排序方法的时间性能总是最优的。
( × )8. 二维数组是其数据元素为线性表的线性表。
( × )9. 拓扑排序是一种内部排序方法。
( × )10.数据的物理结构是指数据在计算机内实际的存储形式。
( × )11、数据元素是数据的最小单位。
( × )12、算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
( √ )13、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( × )14、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
( × )15、线性表的特点是每个元素都有一个前驱和一个后继。
( × )16、所谓取广义表的表尾就是返回广义表中最后一个元素。
( × )17、完全二叉树中,若一个结点没有左孩子,则它必是树叶。
( √ )18. 二叉树只能用二叉链表表示。
( × )19.在二叉树的第i层上至少有2i-1个结点(i>=1)( × )20.度为二的树就是二叉树。
( × )21. 有e条边的无向图,在邻接表中有e个结点。
( × )22. 有向图的邻接矩阵是对称的。
( × )23.任何无向图都存在生成树。
( × )24. 不同的求最小生成树的方法最后得到的生成树是相同的. ( × )25. 有环图也能进行拓扑排序。
( × )26. 关键路径是AOE网中从源点到终点的最长路径。
( √ )27.内排序要求数据一定要以顺序方式存储。
( × )28.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。
( × )29.直接选择排序算法在最好情况下的时间复杂度为O(N)。
( × )30.在待排数据基本有序的情况下,快速排序效果最好。
( × )31.快速排序总比选择排序快。
( √ )二.单选题()1. 单循环链表的主要优点是( D )。
A.不再需要头指针B.已知某个结点的位置后,能够容易找到它的直接前趋C.在进行插入,删除运算时,能更好地保证链表不断开D.从表中任一结点出发都能扫描到整个链表2. 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( D )存储方式最节省时间。
A.顺序表B.单链表C.双链表D.单循环链表3. 用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改4. 以下数据结构中哪一个是非线性结构?( D )A. 队列B. 栈C. 线性表D. 二叉树5. 图的深度优先遍历算法类似于二叉树的( A ),广度优先遍历算法类似于二叉树的( D )。
A.先序遍历B.中序遍历C.后序遍历D.层次遍历6. 若广义表A满足Head(A)==Tail(A),则A为( B )。
A. ( )B. (( ))C. (( ),( ))D. (( ),( ),( ))7. 下列二叉树中,( A )可用于实现符号的不等长高效编码。
8. 若进栈序列为1234,则不能得到( B )的出栈序列。
A. 1342B. 1423C. 1243D. 14329. 循环队列用数组A[m]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( D )。
A. (rear – front + m) MOD mB. rear – front + 1C. rear – front - 1D. rear – front10、从逻辑上可以把数据结构分为(C)两大类。
A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构11.在下列排序方法中,()方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);()方法所有情况下时间复杂度均为0(nlogn)。
A. 插入排序B. 希尔排序C. 快速排序D. 堆排序12、以下数据结构中,哪一个是线性结构( D)?A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串13、在下面的程序段中,对x的赋值语句的频度为(C)for (i=1;i<=n;i++)for (j=1;j<=n;i++)x=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)14、下面关于线性表的叙述中,错误的是哪一个?(B )A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
15、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表16、静态链表中指针表示的是( B ).A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址18、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )(1<=i<=n+1)。
A. O(0)B. O(1)C. O(n)D. O(n2)19、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( B )。
A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;20、对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( B )A.head==NULL B.head→next==NULL C.head→next==head D.head!=NULL21、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( B)。
A. 不确定B. n-i+1C. iD. n-i22、有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( C )A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 623、设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是( C )。
A.XYZ B. YZX C. ZXY D. ZYX24、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为( A )。
A.(rear-front+m)%m B.rear-front+1 C.(front-rear+m)%m D.(rear-front)%m 25、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( B )A. 1和 5B. 2和4C. 4和2D. 5和126、下面关于串的的叙述中,哪一个是不正确的?( B)A.串是字符的有限序列 B.空串是由空格构成的串->(空格串是由空格组成的)27、设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )A.求子串 B.联接 C.匹配 D.求串长28、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( B )。
A. BA+141B. BA+180C. BA+222D. BA+22529、已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是( D )。
A. head(tail(tail(L)))B. tail(head(head(tail(L))))C. head(tail(head(tail(L))))D. head(tail(head(tail(tail(L)))))30、广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( D )。
Head(Tail(Head(Tail(Tail(A)))))A. (g)B. (d)C. cD. d31. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为(D)A.5 B.6 C.7 D.832. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是(A)A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定33.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)A.9 B.11 C.15 D.不确定34.具有10个叶结点的二叉树中有( B )个度为2的结点,A.8 B.9 C.10 D.ll35.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E )A. 250 B. 500 C.254 D.505 E.以上答案都不对36. 有n个叶子的哈夫曼树的结点总数为( D )。
A.不确定 B.2n C.2n+1 D.2n-137. 一棵具有 n个结点的完全二叉树的树高度(深度)是( A)A.⎣logn⎦+1 B.logn+1 C.⎣logn⎦ D.logn-138.深度为h的满m叉树的第k层有( A)个结点。
(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-139.在一棵高度为k的满二叉树中,结点总数为( C)A.2k-1 B.2k C.2k-1 D.⎣log2k⎦+140.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历实现编号。