序号:1, 题目类型:单选题
题目: 当利用大小为N的数组顺序存储一个栈时,假定用top==-1表示栈空,则入栈应该执行()语句修改top指针。
选项:
A. top++
B. top--
C. top=0
D. !top
答案:
A. top++
序号:2, 题目类型:单选题
题目: 空串与空格串( )。
选项:
A. 相同
B. 不相同
C. 可能相同
D. 无法确定
答案:
B. 不相同
序号:3, 题目类型:单选题
题目: 设有一个广义表A (a),其表尾为( )。
选项:
A. a
B. (( ))
C. ( )
D. (a)
答案:
B. (( ))
序号:4, 题目类型:单选题
题目: 如果以链表作为栈的存储结构,则退栈操作时( )。
选项:
A. 必须判断栈是否满
B. 判断栈元素类型
C. 必须判断栈是否空
D. 对栈不作任何判断
答案:
序号:5, 题目类型:单选题
题目: 对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为( )。
选项:
A. n
B. e
C. 2n
D. 2e
答案:
序号:6, 题目类型:单选题
题目: 线性结构中数据元素之间的关系是( )
选项:
A. 一对一
B. 一对多
C. 多对一
D. 多对多
答案:
序号:7, 题目类型:单选题
题目: 已知某二叉树的后续遍历序列是dabec,中序遍历是debac,则它的先序遍历序列是( )。
选项:
A. acbed
B. decab
C. deabc
D. cedba
答案:
序号:8, 题目类型:单选题
题目: 如果进行串的比较,下列哪个串最大?( )
选项:
A. “BEIJING”
B. “BEI”
C. “BEFANG”
D. “BEFI”
答案:
序号:9, 题目类型:单选题
题目: 有关线性表的正确说法是( )。
选项:
A. 线性表至少要求一个元素
B. 每个元素都有一个直接前驱和一个直接后继
C. 表中的元素必须按由小到大或由大到下排序
D. 除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
答案:
序号:10, 题目类型:单选题
题目: 就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是( )。
选项:
A. 堆排序> 快速排序> 归并排序
B. 堆排序< 快速排序< 归并排序
C. 堆排序< 归并排序< 快速排序
D. 堆排序> 归并排序> 快速排序
答案:
序号:11, 题目类型:单选题
题目: 树中所有结点的度等于所有结点数加( )。
选项:
A. 1
B. 0
C. 2
D. -1
答案:
序号:12, 题目类型:单选题
题目: 关于栈和队列的说法中,错误的是()。
选项:
A. 都是线性表
B. 基本运算中都不包含排序运算
C. 只能在端点插入和删除操作
D. 栈是先进先出,队列是后进先出
答案:
序号:13, 题目类型:单选题
题目: 采用折半查找方法查找长度为n的线性表时,其算法的时间复杂度为( )。
选项:
A. O(n2)
B. O(nlog2n)
C. O(n)
D. O(log2n)
答案:
序号:14, 题目类型:单选题
题目: 判断向上增长型的顺序栈空的条件是()。
选项:
A. top==0
B. top!=0
C. top==n-1
D. top=-1
答案:
序号:15, 题目类型:单选题
题目: 设头指针为head的非空的单向链表,指针p指向尾结点,则通过以下操作( )可使其成为单向循环链表。
选项:
A. head = p;
B. p=head;
C. C. p->next = NULL;
D. p->next=head;
答案:
序号:16, 题目类型:判断题
题目: 采用分块查找时,数据的组织方式为把数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引表。
选项:
A. √;
B. ×;
答案:
序号:17, 题目类型:判断题
题目: 二叉树的遍历就是按照一定次序访问树中所有结点,并且每个结点的值仅被访问一次的过程。
选项:
A. √;
B. ×;
答案:
序号:18, 题目类型:判断题
题目: 线性表用顺序方式存储可以随机访问。
选项:
A. √;
B. ×;
答案:
序号:19, 题目类型:判断题
题目: 递归的算法简单、易懂、容易编写,而且执行效率也高。
选项:
A. √;
B. ×;
答案:
序号:20, 题目类型:判断题
题目: 设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式p->next==head;的结果为真,则p所指结点为尾结点。
选项:
A. √;
B. ×;
答案:
序号:21, 题目类型:判断题
题目: 对于一棵深度为h,度为3的树最多有(3h-1)/2个结点。
选项:
A. √;
B. ×;
答案:
序号:22, 题目类型:判断题
题目: 字符串属于线性的数据结构
选项:
A. √;
B. ×;
答案:
序号:23, 题目类型:判断题
题目: 数据项是数据的最小单位。
选项:
A. √;
B. ×;
答案:
序号:24, 题目类型:判断题
题目: AOV网是一个带权的有向图。
选项:
A. √;
B. ×;
答案:
序号:25, 题目类型:判断题
题目: 在归并排序中,在第3趟归并中,是把长度为4的有序表归并为长度为8的有序表。
选项:
A. √;
B. ×;
答案:
序号:26, 题目类型:判断题
题目: 在一个顺序存储的循环队列中, 队头指针指向队头元素的后一个位置。
选项:
A. √;
B. ×;
答案:
序号:27, 题目类型:判断题
题目: 使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
选项:
A. √;
B. ×;
答案:
序号:28, 题目类型:判断题
题目: 在一个查找表中,能够唯一地确定一个记录的关键字称为主关键字。
选项:
A. √;
B. ×;
答案:
序号:29, 题目类型:判断题
题目: 深度为k的完全二叉树至少有2k-1个结点。
选项:
A. √;
B. ×;
答案:
序号:30, 题目类型:判断题
题目: 一个有向图的邻接表和逆邻接表中的节点个数一定相等。
选项:
A. √;
B. ×;
答案:
序号:31, 题目类型:单选题
题目: @@@以下程序是快速排序的算法,完成程序中空格部分。 设待排序的记录序列存放在a[start],…a[end]中,按记录的关键字进行快速排序,先进行一次划分,再分别进行递归调用。 void quicksort(NODE a[],int start,int end) { int i,j; NODE mid; if (start>=end ) return; i=start; j=end; mid=a[i]; while (i<j) { while(i<j && a[j].key>mid.key) j--; if(i<j) { a[i]=a[j]; i++; } while(i<j && a[i].key<=mid.key) i++; if(i<j) { a[j]=a[i]; j--; } } a[i]=mid; ____________________ quicksort(a,i+1,end); }
选项:
A. quicksort(a,start,i-1);
B. quicksort(a,start,i+1);
C. quicksort(a,start,j-1);
D. quicksort(a,start,j+1);
答案:
序号:32, 题目类型:单选题
题目: @@@以下为求二叉树深度的算法,完成程序中空格部分。int BTreeDepth(BTreeNode* BT){ if (BT==NULL) return 0; else { int dep1=BTreeDepth(BT->left); /* 计算左子树的深度 */ int dep2=BTreeDepth(BT->right); /* 计算右子树的深度 */ if (________) return dep1+1; else return dep2+!; }}
选项:
A. dep1>dep2
B. dep1<dep2
C. BT->left==NULL
D. BT->right==NULL
答案:
序号:33, 题目类型:单选题
题目: @@@在下面空格处填写一条语句,以使下面的串比较算法完整。int strcmp(char *s1,char *s2){ int i; for(i=0;s1[i]!='\0'&& s2[i]!='\0';i++) if(s1[i]>s2[i]) return 1; else if(s1[i]<s2[i]) return -1; if(s1[i]=='\0'&& s2[i]=='\0') _________ else if(s1[i]!='\0') return 1; else return -1; }
选项:
A. return 0;
B. return -1;
C. return 1;
D. return i;
答案:
序号:34, 题目类型:单选题
题目: @@@设查找表为(16,15,20,53,64,7),用冒泡法对该表进行排序,在排序后的有序表的基础上进行折半查找,在等概率条件下,成功查找的平均查找长度为( )。
选项:
A. 3.5
B. 3
C. 19/6
D. 14/6
答案:
序号:35, 题目类型:单选题
题目: @@@设有一个头指针为head的不带头结点单向链表中(结点类型为NODE),p为指向该链表中某个结点的指针。以下程序段为插入一个指针为s的结点,使它成为p结点的直接前驱,请把合适选项填写到空行处。NODE *q;q=head; while(q->next!=p) q=q->next;s->next=p;________;
选项:
A. p->next=q
B. p->next=s
C. q->next=s
D. q->next=p
答案: