icpc:teach:线性数据结构
线性数据结构
链表
1. 以下关于字符串的判定语句中正确的是( )
A. 字符串是一种特殊的线性表 B. 串的长度必须大于0 C. 字符串不可以用数组表示 D. 空格字符组成的字符串就是空串
2. 链表不具备的特点是( )
A. 可随机访问任意一个元素 B. 插入、删除操作不需要移动元素 C. 无须事先估计存储空间的大小 D. 所需存储空间与存储元素个数成正比
3. 线性表若采取链表存储结构,则要求内存中可用的存储单元地址()
A. 必须连续 B. 部分地址必须连续 C. 一定不连续 D. 连续或不连续均可
4. 在一个长度为n的顺序表中删除第 i 个元素时,需要向前移动( )个元素
A. n B. i-1 C. n-i D. n-i+1
5. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入与删除运算,则利用( )存储方式最节省时间
A. 顺序表 B. 双链表 C. 带头节点的双循环链表 D. 单循环链表
6. 设线性表中共有2n个元素,则下列( )选项的操作最适合用链表存储。
A. 删除所有值为x的元素 B. 在最后一个元素的后面插入一个新元素 C. 顺序输出前k个元素 D. 交换第i个元素和第2n-i-1个元素的值(i=0,1,...,n-1)
答案: 1. A 2. A 3. D 4. C 5. A 6. A
栈与队列
1. ( )是一种先进先出的线性表
A. 栈 B. 队列 C. 哈希表 D. 二叉树
2. 广度优先搜索时,需要用到的数据结构是( )
A. 链表 B. 队列 C. 栈 D. 散列表
3. 栈和队列都是特殊的线性表,其共同点是( )
A. 只允许在端点处插入和删除元素 B. 都是先进后出 C. 都是先进先出 D. 都可以用链表存储
4. 栈的插入和删除操作在( )进行
A. 栈顶 B. 栈底 C. 任意位置 D. 指定位置
5. 假如一个栈的压入序列为123,则不可能是栈的输出序列是( )
A. 栈顶 B. 栈底 C. 任意位置 D. 指定位置
6. 若已知一个栈的入栈顺序是1, 2, 3, 4, 其出栈序列为P1, P2, P3, P4 则P2, P4不可能是( )
A. 2, 4 B. 2, 1 C. 4, 3 D. 3, 4
7. 表达式 a * ( b + c ) * d 的后缀表达形式是 ( )
A. abcd*+* B. abc+*d* C. a*bc+*d D. d+c*a*d
8. 前缀表达式“ + 3 * 2 + 5 12”的值是( )
A. 23 B. 24 C. 37 D. 65
9. 表达式 a*(b+c)-d 的后缀表达式是( )
A. abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd
10. 前缀表达式“ * + 2 3 4 “的计算结果是( )
A. 24 B. 20 C. 18 D. 14
11. 算术表达式a+b*(c+d/e)转换为后缀表达式后为( )
A. ab+cde/* B. abcde/+*+ C. abcde/*++ D. abcde*/++
答案:
1. B 2. B 3. D 4. A 5. C 6. C 7. B 8. C 9. B 10. B 11. B
/app/www/public/data/pages/icpc/teach/线性数据结构.txt · 最后更改: 2023/08/21 14:22 由 温婕莺