2014广西壮族自治区C与数据结构链表一点通科目一
最新完整2014年驾考一点通驾照科目一考试题库精华版
判断1、驾驶机动车在道路上违反交通安全法规的行为属于违法行为。
(对)2、饮酒后只要不影响驾驶操作可以短距离驾驶机动车。
(错、算违法行为)3、驾驶机动车在道路上超车完毕驶回原车道时开启右转向灯。
(对)4、驾驶机动车上坡时,在将要到达坡道顶端时要加速并鸣喇叭。
(错、应减速)5、这辆小轿车不能在这个位置停车。
(对、因为这是人行横道)参考答案:1、对; 2、错; 3、对;4、错;5、对。
6、机动车行驶中,车上少年儿童可不使用安全带。
(错,这是规定)7、驾驶机动车找不到停车位时可以借人行道停放。
(错)8、在车门、车厢没有关好时不要驾驶机动车起步。
(对,安全第一)9、不要在驾驶室的前后窗范围内悬挂和放置妨碍驾驶人视线的物品。
(对)10、对使用其他车辆号牌、行驶证的车辆,交通警察可依法予以扣留。
(对)参考答案:6、错; 7、错; 8、对;9、对; 10、对。
11、造成交通事故后逃逸构成犯罪的人不能申请机动车驾驶证。
(对)12、驾驶人因服兵役、出国(境)等原因延期审验期间不得驾驶机动车。
(对)13、伪造、变造或者使用伪造、变造驾驶证的驾驶人构成犯罪的,将依法追究刑事责任。
(对)14、使用其他机动车号牌、行驶证的一次记3分。
(错,一次记12分)15、机动车行驶证灭失、丢失,机动车所有人要向登记地车辆管理所申请补领、换领。
(对)参考答案:11、对; 12、对; 13、对; 14、错; 15、对。
16、驾驶人一边驾车,一边打手持电话是违法行为。
(对)17、遇到路口情况复杂时,应做到“宁停三分,不抢一秒”。
(对)18、驾驶人一边驾车,一边吸烟对安全行车无影响。
(错、易分散注意力)19、驾驶车辆向右变更车道时,应提前开启右转向灯,注意观察,在确保安全的情况下,驶入要变更的车道。
(对)20、变更车道时,应开启转向灯,迅速驶入侧方车道。
(错、错在“迅速”)参考答案:16、对; 17、对; 18、错; 19、对; 20、错。
21、驾驶机动车在路口遇到这种信号灯禁止通行。
2014新疆维吾尔自治区C与数据结构链表考试技巧与口诀
C)p=p->next->next; D) p->next=p;
25、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
3、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
26、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
27、队列的操作的原则是( A )。
10、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
4、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
5、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
2014山东省C与数据结构链表考试技巧与口诀
1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的2、下面程序段的时间复杂度是( A )。
s =0;for( i =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;A) O(n2) B) O(n)C) O(m*n) D)O(1)3、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数4、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3C)2,4,3,5,1,6 D)4,5,3,6,2,15、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]6、与无向图相关的术语有( C )。
A)强连通图 B)入度C)路径 D)弧7、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))8、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A9、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
2014年江西省C与数据结构链表最新考试试题库
11、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
12、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
24、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
25、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
D.在单链表最后一个元素后插入一个新元素
6、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
7、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
39、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1) B.O(n)
C.O(1Ogzn) D.O(n2)
40、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}
D.{51,25,66,82,98,108}
10、数据结构在计算机内存中的表示是指 A 。
c1科目一考试题
c1科目一考试题(正文开始)一、单选题1. 下面哪个是一个有效的文件路径?A. C:\Users\Documents\file.txtB. C:\Users\Documents\fileC. C:\Users\Documents\file.xlsxD. C:\Users\Documents\file.doc2. 在Excel中,下列哪个选项用于对数据进行排序?A. 数据验证B. 数据透视表C. 数据分析D. 数据排序3. 下面哪个选项不是一种常见的网络连接类型?A. DSLB. BluetoothC. Wi-FiD. Ethernet4. 在HTML中,下面哪个标签用于显示一级标题?A. <h1>B. <h2>C. <h3>D. <p>5. 在计算机领域中,下面哪个选项是数据库管理系统的常见类型?A. DTDB. SQLC. HTTPD. FTP二、多选题1. 下面哪些选项属于常见的编程语言?A. JavaB. HTMLC. XMLD. Python2. 在Word中,下面哪些选项可以用于调整段落的格式?A. 缩进C. 对齐方式D. 字体颜色3. 下面哪些选项是常见的计算机操作系统?A. WindowsB. LinuxC. iOSD. Android4. 在网络安全中,下面哪些选项是常见的密码攻击方式?A. 字典攻击B. 社交工程C. SSLD. DDOS攻击5. 在Excel中,下列哪些选项可以应用于单元格?A. 文本B. 数字C. 公式D. 图片1. 在计算机科学中,HTTP表示超文本传输协议的缩写,它是一种__________协议。
2. 在Java中,一个类可以继承多个__________。
3. 在HTML中,根据标签的特点,<p>标签用于显示__________。
4. 在网络中,IP地址的完整格式是__________。
5. 在Excel中,单元格的引用由__________和字母组成。
《数据结构》国开02272形考任务(1-4)试题答案合集
《数据结构》国开02272形考任务(1-4)试题答案合集数据结构国开形考任务(1-4)试题答案合集任务一答案1. 答案:选项B。
栈是一种先进后出(Last-In-First-Out,LIFO)的数据结构,它的插入和删除操作只能在一端进行。
队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,它的插入操作在一端进行,删除操作在另一端进行。
2. 答案:选项C。
顺序表是一种用数组实现的线性表,通过下标直接访问元素。
链表是一种通过指针连接各个节点的数据结构,每个节点包含数据和指向下一个节点的指针。
3. 答案:选项A。
递归是一种通过调用自身的方法解决问题的技巧。
递归可以简化问题的解决过程,但需要注意递归深度和递归终止条件,避免出现无限递归。
4. 答案:选项D。
图是由节点和节点之间的边组成的数据结构。
树是一种特殊的图,其中不存在环的图被称为树。
树具有层次结构,包括根节点、子节点和叶节点等概念。
任务二答案1. 答案:选项C。
栈的应用场景包括函数调用、表达式求值和括号匹配等。
队列的应用场景包括任务调度、消息传递和缓冲区管理等。
2. 答案:选项B。
栈的插入和删除操作都在同一端进行,时间复杂度为O(1)。
队列的插入操作在一端进行,删除操作在另一端进行,时间复杂度也为O(1)。
3. 答案:选项A。
顺序表的插入和删除操作需要移动其他元素,平均时间复杂度为O(n)。
链表的插入和删除操作只需要修改指针,时间复杂度为O(1)。
4. 答案:选项C。
递归虽然简化了问题的解决过程,但会消耗额外的内存空间,递归深度过大时可能导致栈溢出。
迭代使用循环结构解决问题,不会出现递归的问题。
任务三答案1. 答案:选项A。
线性表是一种具有连续存储空间的数据结构,插入和删除操作需要移动其他元素,时间复杂度为O(n)。
树的插入和删除操作只需要修改指针,时间复杂度为O(1)。
2. 答案:选项D。
二叉树是一种特殊的树,每个节点最多有两个子节点。
2014广西壮族自治区数据结构最新考试试题库(完整版)
1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的2、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
A) (G) B) (D) C) C D) D3、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1C) D->Rchild=Null D) D->ltag=04、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++5、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的6、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的7、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一C)不含回路 D)有n条边8、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表C) 双链表 D) 仅有尾指针的单循环链表9、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFOC)FCFS D)HPF10、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;11、栈进行插入和删除操作的特点是( A )。
数据结构原理测试题
数据结构原理测试题一、选择题1. 数据结构定义中的“数据”是指()。
A. 存储在计算机中的二进制代码B. 存储在计算机中的实际信息C. 存储在计算机中的程序指令D. 存储在计算机中的运算结果2. 下列哪个不是线性结构?A. 栈B. 队列C. 树D. 链表3. 在一个栈中,后进先出的规则指的是()。
A. 先进先出B. 后进先出C. 先进后出D. 后进后出4. 以下哪个不属于树的基本操作?A. 插入B. 删除C. 查找D. 遍历5. 在二叉树中,每个节点最多有几个子节点?A. 0B. 1C. 2D. 不确定,可能为任意个数6. 下列哪种数据结构适合处理先进先出的数据?A. 栈B. 队列C. 树D. 图7. 在链表中,节点之间的关系是通过什么来确定的?A. 节点的值B. 节点的地址C. 节点的位置D. 节点的索引8. 在排序算法中,时间复杂度表示的是()。
A. 算法执行的速度B. 算法执行的次数C. 算法需要的内存D. 算法的稳定性9. 以下哪个不是常见的图遍历算法?A. 深度优先搜索B. 广度优先搜索C. 最短路径算法D. 最小生成树算法10. AVL树是一种()。
A. 平衡二叉树B. 二叉搜索树C. 红黑树D. 哈夫曼树二、填空题1. 在栈中,最先进入栈的元素称为()。
2. 在队列中,最后进入队列的元素称为()。
3. 在树中,没有子节点的节点称为()。
4. 在链表的第一个节点之前放置一个特殊节点,称为()节点。
5. 在二叉树中,每个节点最多可以有()个子节点。
6. 在图中,包含N个顶点和E条边,则其总度数为()。
7. 在快速排序算法中,选择的基准元素将数组分成两部分,称为()和()。
8. 在图的最短路径算法中,Dijkstra算法是基于()策略的。
三、简答题1. 请简述什么是数据结构,并举例说明其中的一个应用场景。
2. 请解释线性结构和非线性结构的区别,并分别举例说明。
3. 请解释栈的特点和应用场景,并给出一个栈的实际应用案例。
《数据结构》-1自考试卷及答案
《数据结构》-1一、判断题 (每小题1分,共10分)1、线性表的逻辑顺序与物理顺序总是一致的。
( )2、线性表只能采用顺序存储结构或者链式存储结构。
( )3、线性表的顺序存储表示优于链式存储表示。
( )4、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。
( )5、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( )6、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
( )7、一般树和二叉树的结点数目都可以为0。
( )8、序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。
( )9、每种数据结构都应具备三种基本运算:插入、删除和搜索。
( )10、若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。
( )二、单项选择题 (每小题2分,共20分)1、算法分析的目的是( )A.研究算法的输入与输出之间的关系B.找出数据结构的合理性C.分析算法的效率以求改进算法D.分析算法的可读性与可移植性2、已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作( )A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;3、图的深度优先搜索类似于树的()次序遍历。
A.先根B.中根C.后根D.层次4、一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列()A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,15、若深度为5的完全二叉树的第5层有3个叶结点,则该二叉树一共有( )个结点。
A.15B.16C.17D.186、下列排序方法中,哪一种方法的比较次数与纪录的初始排列状态无关()A. 直接插入排序B. 起泡排序C. 快速排序D. 直接选择排序7、对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果依次为:第一趟:13,72,68,49,38 ,50,97,27;第二趟:13,27,68,49,38,50,97,72;第三趟:13,27,38,49,68,50,97,72;该排序采用的方法是( )A.插入排序法B.选择排序法C.冒泡排序法D.堆积排序法8、对于循环队列,存储空间大小为n,头指针为F,尾指针为R。
2015黑龙江省C与数据结构链表一点通科目一
31、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
8、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
9、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
32、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
33、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
19、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
20、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
37、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
2014广西壮族自治区C语言版基础
1、我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。
用j 记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。
void Platform (int b[ ], int N)//求具有N个元素的整型数组b中最长平台的长度。
{l=1;k=0;j=0;i=0;while(i<n-1){while(i<n-1 && b[i]==b[i+1]) i++;if(i-j+1>l) {l=i-j+1;k=j;} //局部最长平台i++; j=i; } //新平台起点printf(“最长平台长度%d,在b数组中起始下标为%d”,l,k);}// Platform2、#define maxsize 栈空间容量void InOutS(int s[maxsize])//s是元素为整数的栈,本算法进行入栈和退栈操作。
{int top=0; //top为栈顶指针,定义top=0时为栈空。
for(i=1; i<=n; i++) //n个整数序列作处理。
{scanf(“%d”,&x); //从键盘读入整数序列。
if(x!=-1) // 读入的整数不等于-1时入栈。
if(top==maxsize-1){printf(“栈满\n”);exit(0);}else s[++top]=x; //x入栈。
else //读入的整数等于-1时退栈。
{if(top==0){printf(“栈空\n”);exit(0);}else printf(“出栈元素是%d\n”,s[top--]);}}}//算法结3、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元素个数相等,按平均值排列与按每行元素之和排列是一个意思。
2014广西壮族自治区数据库期末考试入门
1、设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左,右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。
N2、NL、NR、N0都是全局量,且在调用count(t)之前都置为0.typedef struct node{int data; struct node *lchild,*rchild;}node;int N2,NL,NR,N0;void count(node *t){if (t->lchild!=NULL) if (1)___ N2++; else NL++;else if (2)___ NR++; else (3)__ ;if(t->lchild!=NULL)(4)____; if (t->rchild!=NULL) (5)____;}26.树的先序非递归算法。
void example(b)btree *b;{ btree *stack[20], *p;int top;if (b!=null){ top=1; stack[top]=b;while (top>0){ p=stack[top]; top--;printf(“%d”,p->data);if (p->rchild!=null){(1)___; (2)___;}if (p->lchild!=null)(3)___; (4)__;}}}}2、请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一个单链表,表头指针为head。
二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。
分析你的算法的时、空复杂度。
3、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(入栈满等)给出相应的信息。
《C语言数据结构》第1至9章自测题答案大全
积少成多,争取每天进步一点。
第一章概论自测题答案姓名班级题号一二三四五六总分题分3315982015100得分一、填空题(每空1分共33分)1. 一个计算机系统包括硬件系统和软件系统两大部分2. 一台计算机中全部程序的集合称为这台计算机的软件资源 /(系统)3. 计算机软件可以分为系统软件和应用软件两大类科学计算程序包属于应用软件诊断程序属于系统软件(工具)4. 一种用助忆符号来表示机器指令的操作符和操作数的语言是汇编语言5. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科6. 数据结构被形式地定义为(DR)其中D是数据元素的有限集合R是D上的关系有限集合7. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容8. 数据结构按逻辑结构可分为两大类它们分别是线性结构和非线性结构9. 线性结构中元素之间存在一对一关系树形结构中元素之间存在一对多关系图形结构中元素之间存在多对多关系10.在线性结构中第一个结点没有前驱结点其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点其余每个结点有且只有1个后续结点11. 在树形结构中树根结点没有前驱结点其余每个结点有且只有 1 个前驱结点;叶子结点没有后续结点其余每个结点的后续结点数可以任意多个12. 在图形结构中每个结点的前驱结点数和后续结点数可以任意多个13.数据的存储结构可用四种基本的存储方法表示它们分别是顺序、链式、索引和散列14. 数据的运算最常用的有5种它们分别是插入、删除、修改、查找、排序15. 一个算法的效率可分为时间效率和空间效率16. 〖00年省统考〗任何一个C程序都由一个主函数和若干个被调用的其它函数组成17. 【00年省统考题】变量一经说明就确定该变量的取值范围(即存储单元)及确定变量所允许的运算二、单项选择题(每小题1分共15分)( B ) 1. 通常所说的主机是指∶A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘( C )2. 在计算机内部一切信息的存取、处理和传送的形式是∶A) ACSII码 B) BCD码C)二进制D)十六进制( D )3. 软件与程序的区别是∶A) 程序价格便宜、软件价格昂贵;B) 程序是用户自己编写的而软件是由厂家提供的;C) 程序是用高级语言编写的而软件是由机器语言编写的;D) 软件是程序以及开发、使用和维护所需要的所有文档的总称而程序只是软件的一部分( C )4. 所谓"裸机"是指∶A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机( D )5. 应用软件是指∶A)所有能够使用的软件 B) 能被各应用单位共同使用的某种软件 C)所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件(*A )6. 〖00年省统考〗C语言中的常量可分为整型常量、实型常量、字符型常量及 (枚(A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数(*C )7. 编译程序的功能是∶A)发现源程序中的语法错误B)改正源程序中的语法错误C)将源程序编译成目标程序 D)将某一高级语言程序翻译成另一种高级语言程序( A )8. 系统软件中最重要的是∶A) 操作系统 B) 语言处理系统 C) 工具软件 D) 数据库管理系统( C )9. 可移植性最好的计算机语言是∶A) 机器语言B)汇编语言C) 高级语言D) 自然语言( B )10. 非线性结构是数据元素之间存在一种:A)一对多关系 B)多对多关系 C)多对一关系 D)一对一关系( C )11. 数据结构中与所使用的计算机无关的是数据的结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储( C )12. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性( A )13. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性( C )14. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法( B )15. 计算机算法必须具备输入、输出和等5个特性A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性三、简答题(每小题3分1.我们知道计算机只能执行机器指令为什么它能运行用汇编语言和高级语言编写的程序?答:靠汇编程序将汇编语言或高级语言翻译转换为目标程序(即机器语言)2.【严题集1.2②】数据结构和数据类型两个概念之间有区别吗?答:简单地说数据结构定义了一组按某些关系结合在一起的数组元素数据类型不仅定义了一组带结构的数据元素而且还在其上定义了一组操作3. 简述线性结构与非线性结构的不同点答:线性结构反映结点间的逻辑关系是一对一的非线性结构反映结点间的逻辑关系是多对多的四、〖00年统考题〗阅读下列C程序段写出相应的执行结果(每小题4分共8分)1. printf("Input x");scanf("%d"&x);if (x<=30)if(x>20) y=x;else if (x>10) y=2*x;if (x>0&&x<30)printf("x=%dy=%d"xy);else printf("输入数据错!");试写出当x分别为188时的执行结果答:运行结果为:x=18y=36x=8y=运行前的值且从x=30开始为数据错五、【严题集1.8④】分析下面各程序段的时间复杂度(每小题5分共20分)六、设有数据逻辑结构S=(DR)试按各小题所给条件画出这些逻辑结构的图示并确定相对于关系R哪些结点是开始结点哪些结点是终端结点?(每小题5分共15分)1. 【严蔚敏习题集P7 1.3②】D={d1d2d3d4} R={(d1d2)(d2d3)(d3d4) }答: d1→d2→d3→d4 d1-无直接前驱是首结点 d4-无直接后继是尾结点2. D={d1d2...d9}R={(d1d2)(d1d3)(d3d4)(d3d6)(d6d8)(d4d5)(d6d7)(d8d9) }答:此图为树形结构 d1-无直接前驱是根结点 d2d5d7d9-无直接后继是叶子结点3. D={d1d2...d9}R={(d1d3)(d1d8)(d2d3)(d2d4)(d2d5)(d3d9)(d5d6)(d8d9)(d9d7)(d4d7)(d4d6)}答:此图为图形结构 d1d2-无直接前驱是开始结点 d6d7-无直接后继是终端结点(2) (3) 第2章自测卷答案姓名班级题号一二三四五六七总分题分1310101071040100得分一、填空(每空1分共13分)1. 【严题集2.2①】在顺序表中插入或删除一个元素需要平均移动表中一半元素具体移动的元素个数与表长和该元素在表中的位置有关2. 线性表中结点的集合是有限的结点间的关系是一对一的3. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时需向后移动 n-i+1 个元素4. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时需向前移动 n-i 个元素5. 在顺序表中访问任意一结点的时间复杂度均为 O(1)因此顺序表也称为随机存取的数据结构6. 【严题集2.2①】顺序表中逻辑上相邻的元素的物理位置必定相邻单链表中逻辑上相邻的元素的物理位置不一定相邻7. 【严题集2.2①】在单链表中除了首元结点外任一结点的存储位置由其直接前驱结点的链域的值指示8.在n个结点的单链表中要删除已知结点*p需找到它的前驱结点的地址其时间复杂度为O(n)二、判断正误(在正确的说法后面打勾反之打叉)(每小题1分共10分)(×)1. 链表的每个结点中都恰好包含一个指针答:错误链表中的结点可含多个指针域分别存放多个指针例如双向链表中的结点可以含有两个指针域分别存放指向其直接前趋和直接后继结点的指针(×)2. 链表的物理存储结构具有同链表一样的顺序错链表的存储结构特点是无序而链表的示意图有序(×)3. 链表的删除算法很简单因为当删除链中某个结点后计算机会自动地将后续的各个单元向前移动错链表的结点不会移动只是指针内容改变(×)4. 线性表的每个结点只能是一个简单类型而链表的每个结点可以是一个复杂类型错混淆了逻辑结构与物理结构链表也是线性表!且即使是顺序表也能存放记录型数据(×)5. 顺序表结构适宜于进行顺序存取而链表适宜于进行随机存取错正好说反了顺序表才适合随机存取链表恰恰适于"顺藤摸瓜"(×)6. 顺序存储方式的优点是存储密度大且插入、删除运算效率高错前一半正确但后一半说法错误那是链式存储的优点顺序存储方式插入、删除运算效率较低在表长为n的顺序表中插入和删除一个数据元素平均需移动表长一半个数的数据元素(×)7. 线性表在物理存储空间中也一定是连续的错线性表有两种存储方式顺序存储和链式存储后者不要求连续存放(×)8. 线性表在顺序存储时逻辑上相邻的元素未必在存储的物理位置次序上相邻错误线性表有两种存储方式在顺序存储时逻辑上相邻的元素在存储的物理位置次序上也相邻(×)9. 顺序存储方式只能用于存储线性结构错误顺序存储方式不仅能用于存储线性结构还可以用来存放非线性结构例如完全二叉树是属于非线性结构但其最佳存储方式是顺序存储方式(后一节介绍)(×)10. 线性表的逻辑顺序与存储顺序总是一致的错理由同7链式存储就无需一致三、单项选择题(每小题1分共10分)( C )1.数据在计算机存储器内表示时物理地址与逻辑地址相同并且是连续的称之为:(A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构( B )2.一个向量第一个元素的存储地址是100每个元素的长度为2则第5个元素的地址是(A)110 (B)108 (C)100 (D)120( A )3. 在n个结点的顺序表中算法的时间复杂度是O(1)的操作是:(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)(B)在第i个结点后插入一个新结点(1≤i≤n)(C)删除第i个结点(1≤i≤n)(D)将n个结点从小到大排序( B )4. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变平均要移动个元素(A)8 (B)63.5 (C)63 (D)7( A )5. 链接存储的存储结构所占存储空间:(A)分两部分一部分存放结点值另一部分存放表示结点间关系的指针(B)只有一部分存放结点值(C)只有一部分存储表示结点间关系的指针(D)分两部分一部分存放结点值另一部分存放结点所占单元数( B )6. 链表是一种采用存储结构存储的线性表;(A)顺序(B)链式(C)星式(D)网状( D )7. 线性表若采用链式存储结构时要求内存中可用存储单元的地址:(A)必须是连续的(B)部分地址必须是连续的(C)一定是不连续的(D)连续或不连续都可以( B )8.线性表L在情况下适用于使用链式结构实现(A)需经常修改L中的结点值(B)需不断对L进行删除插入(C)L中含有大量的结点(D)L中结点结构复杂( C )9.单链表的存储密度(A)大于1;(B)等于1;(C)小于1;(D)不能确定( B )10.设a1、a2、a3为3个结点整数P034代表地址则如下的链式存储结构称为P034P0-->a13-->a24-->A3(A)循环链表(B)单链表(C)双向循环链表(D)双向链表四、简答题(每小题5分共10分)1. 【严题集2.3②】试比较顺序存储结构和链式存储结构的优缺点在什么情况下用顺序表比链表好?答:①顺序存储时相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的优点:存储密度大(=1?)存储空间利用率高缺点:插入或删除元素时不方便②链式存储时相邻数据元素可随意存放但所占存储空间分两部分一部分存放结点值另一部分存放表示结点间关系的指针优点:插入或删除元素时很方便使用灵活缺点:存储密度小(<1)存储空间利用率低顺序表适宜于做查找这样的静态操作;链表宜于做插入、删除这样的动态操作若线性表的长度变化不大且其主要操作是查找则采用顺序表;若线性表的长度变化较大且其主要操作是插入、删除操作则采用链表2 .【严题集2.1①】描述以下三个概念的区别:头指针、头结点、首元结点(第一个元素结点)在单链表中设置头结点的作用是什么?答:首元结点是指链表中存储线性表中第一个数据元素a1的结点为了操作方便通常在链表的首元结点之前附设一个结点称为头结点该结点的数据域中不存储线性表的数据元素其作用是为了对链表进行操作时可以对空表、非空表的情况以及对首元结点进行统一处理头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针若链表中附设头结点则不管线性表是否为空表头指针均不为空否则表示空表的链表的头指针为空这三个概念对单链表、双向链表和循环链表均适用是否设置头结点是不同的存储结构表示同一逻辑结构的问题头结点head-->datalink头指针首元结点简而言之头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针;头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息(内放头指针?那还得另配一个头指针!!!)首元素结点是指链表中存储线性表中第一个数据元素a1的结点五、【软考题】线性表具有两种存储方式即顺序方式和链接方式现有一个具有五个元素的线性表L={2317470531}若它以链接方式存储在下列100~119号地址空间中每个结点由数据(占2个字节)和指针(占2个字节)组成如下所示:05U17X23V31Y47Z^^100120其中指针XYZ的值分别为多少?该线性表的首结点起始地址为多少?末结点的起始地址为多少?(10分)答:X= 116 Y= 0 Z= 100 首址= 108 末址= 112六、阅读分析题(10分)【严题集2.10②】指出以下算法中的错误和低效(即费时)之处并将它改写为一个既正确又高效的算法答:错误有两处:①参数不合法的判别条件不完整例如表长为10若从第一位置(i=1)删除10个元素(k=10)要求合理但会被判为非法合法的入口参数条件为(0<i≤a.length)^ (0≤k≤a.length-i)应将if ( i<1 || k<0 || i+k> a.length ) return INFEASIBLE改为:if (!((0<i≤a.length)^ (o≤k≤a.length-i))) return INFEASIBLE 第二个FOR语句中元素前移的次序错误应将for ( j = a.length; j>=i+1; j--) a.elem[j-1] = a.elem[j];改为for (j>=i+1; j = a.length; j++) a.elem[j-1] = a.elem[j];七、编程题(每题10分共40分)1. 【徐士良题集2002年1月省统考题】写出在顺序存储结构下将线性表逆转的算法要求使用最少的附加空间解:输入:长度为n的线性表数组A(1:n)输出:逆转后的长度为n的线性表数组A(1:n)C语言描述如下(其中ET为数据元素的类型):2. 【严题集2.6②】已知L是无表头结点的单链表且P结点既不是首元结点也不是尾元结点请写出在P结点后插入S结点的核心语句序列答:此题答案不唯一但若从已给定序列中挑选则限制颇多(7) Q=P;(11) P=L;(8) while(P->next!=Q)P=P->next;(10) P=Q;(4) S->next=P->next;P->next=S;3. 编写程序将若干整数从键盘输入以单链表形式存储起来然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)注:统计结点个数是【省统考样题】的要求也是教材P60 4-6计算链表长度的要求编程又简单很容易作为考题解:编写C程序如下(已上机通过):全局变量及函数提前说明:---------------------------------#include<stdio.h>#include<stdlib.h>typedef struct liuyu{int data;struct liuyu*link;}test;liuyu *p*q*r*head;int m=sizeof(test);void main () /*第一步从键盘输入整数不断添加到链表*/{int i;head=(test*)malloc(m); /*m=sizeof(test);*/p=head; i=0;while (i!=-9999){ printf("/ninput an integer [stop by '-9999']:");scanf("%d"&i);p->data=i; /* input data is saved */p->link=(test*)malloc(m); /*m=sizeof(test));*/q=p;p=p->link;}q->link=NULL; /*原先用p->link=NULL似乎太晚!*/p=head; i=0; /*统计链表结点的个数并打印出来*/ while (p->link!=NULL){printf("%d"p->data);p=p->link;i++;}printf("\n node number=%d\n"i-1); /*结点的个数不包括-9999*/}0301陈建武:3.程序中统计结点数应是i个而不是i-1.假设链表表长为ni从0开始则在统计某一结点后 i 加一此时p已指向下一个结点第一结点统计结束i为1p指向第二结点即当p指向尾结点(第n个结点)时i的值为n-1while循环条件不符(指针域为null)退出循环即得统计的结点数为n-1.所以 i 的值就是结点数不必再减一4. 请编写26个字母按特定字母值插入或删除的完整程序可自行选用顺序存储或链表结构答:#include<stdio.h> /*全局变量及函数提前说明:*/ #include<stdlib.h>typedef struct liuyu{char data;struct liuyu*link;}test; liuyu *p*q*r*head;int L; /*元素的个数*/int m=sizeof(test);void build(); /* 主函数中会被调用的函数应当预先说明 */ void display();int insert_char(charchar); /*插入一个字母在第字母Y之前若无字母则加到末尾*/int delet_char(char); /* 删除元素X注意保存X的前趋元素指针! *//*---------------------------------------------------------*/void build() /*字母链表的生成*/{int i;head=(test*)malloc(m); /*m=sizeof(test);*/p=head;for(i=1;i<L;i++){ p->data=i+'a'-1; /* 'a'也可用其ASCII码97来表示 */ p->link=(test*)malloc(m); /*m=sizeof(test));*/p=p->link; }p->data=i+'a'-1;p->link=NULL;}/*---------------------------------------------------------*/void display() /*字母链表的输出*/{p=head;while (p->link!=NULL){ printf("%c"p->data);p=p->link; }printf("%c\n"p->data);}/*---------------------------------------------------------*/int insert_char(char Xchar Y) /*插入一个字母X在某个字母Y之前若找不到Y字母则加到末尾*/{p=head;r=(test*)malloc(m);r->data=X;if(head->data==Y){ head=r;r->link=p; }else{ while((p->data!=Y)&&(p->link!=NULL)) {q=p; p=p->link;} if(p->data==Y) { q->link=r; r->link=p; }else{p->link=r;r->link=NULL;}}L++;return(0);}/*---------------------------------------------------------*/ int delet_char(char X) /* 删除元素X注意保存X的前趋元素指针! */{ p=head;if(head->data==X){head=head->link;free(p);}else{ while((p->data!=X)&&(p->link!=NULL)){q=p;p=p->link;}if(p->data==X){ q->link=p->link;free(p); }else return(-1);}L--;return(0);}/*---------------------------------------------------------*/ void main(void) /*字母线性表的生成和输出*/{ L=26;build();display();printf("insert return value=%d\n"insert_char('L''W'));display();printf("delete return value=%d\n"delet_char('z'));display();}附:屏幕上显示的执行结果是:a b c d e f g h i j k l m n o p q r s t u v w x y zinsert return value=0a b c d 9 e f g h i j k l m n o p q r s t u v w x y z Ldelete return value=0a b c d e f g h i j k l m n o p q r s t u v w x y L0301陈建武修改意见:一. display()函数代码可优化为四行void display() /*字母链表的输出*/{p=head;while (p->link!=NULL)//改为while(p)因为当p指向尾结点时p不为null条件成立循环//printf()然后p被赋值为null此时循环条件不符退出正好.{ printf("%c"p->data);p=p->link; }printf("%c\n"p->data); //用while(p)此行可删}二.对int insert_char(char Xchar Y)若用带头结点的链表代码可减为10行我的程序如下(若参数没有slist p代码要多一行让q指向头指针)void InsertFind(slist pchar insertcharchar insertpos)//字母insertpos前插入字母insertchar{slist ppriornewnode; //newnode新结点pprior为插入位置结点的直接前驱newnode = new liuyu; //为新结点分配内存newnode->data = insertchar; //对结点数据域初始化while(p) //当p指向尾结点时最后一次循环 {pprior = p; //pprior从头指针开始指向p的直接前驱p = p->next; //p从首元结点开始不断前移直至最后p为nullif(p&&(p->data == insertpos)) //当p为null或者结点p的数据域为所要插入的字母break; //则退出循环}newnode->next = pprior->next; //在找到的位置前插入pprior->next = newnode;}对删除结点的操作若有头结点同样可以减少代码由此可见创建一个头结点对简化程序有很大的帮助.上面的观点仅供参考不对之处请指教!第3章栈和队列自测卷答案姓名班级题号一二三四五六总分题分151020202015100得分一、填空题(每空1分共15分)1. 【李春葆】向量、栈和队列都是线性结构可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素2. 栈是一种特殊的线性表允许插入和删除运算的一端称为栈顶不允许插入和删除运算的一端称为栈底3. 队列是被限定为只能在表的一端进行插入运算在表的另一端进行删除运算的线性表4. 在一个循环队列中队首指针指向队首元素的前一个位置5. 在具有n个单元的循环队列中队满时共有 n-1 个元素6. 向栈中压入元素的操作是先移动栈顶指针后存入元素7. 从循环队列中删除一个元素时其操作是先移动队首指针后取出元素8. 〖00年统考题〗带表头结点的空循环双向链表的长度等于 0解:二、判断正误(判断下列概念的正确性并作出简要的说明)(每小题1分共10分)(×)1. 线性表的每个结点只能是一个简单类型而链表的每个结点可以是一个复杂类型错线性表是逻辑结构概念可以顺序存储或链式存储与元素数据类型无关(×)2. 在表结构中最常用的是线性表栈和队列不太常用错不一定吧?调用子程序或函数常用CPU中也用队列(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表是一种后进先出型结构(√)4. 对于不同的使用者一个表结构既可以是栈也可以是队列也可以是线性表正确都是线性逻辑结构栈和队列其实是特殊的线性表对运算的定义略有不同而已(×)5. 栈和链表是两种不同的数据结构错栈是逻辑结构的概念是特殊殊线性表而链表是存储结构概念二者不是同类项(×)6. 栈和队列是一种非线性数据结构错他们都是线性逻辑结构栈和队列其实是特殊的线性表对运算的定义略有不同而已(√)7. 栈和队列的存储方式既可是顺序方式也可是链接方式(√)8. 两个栈共享一片连续内存空间时为提高内存利用率减少溢出机会应把两个栈的栈底分别设在这片内存空间的两端(×)9. 队是一种插入与删除操作分别在表的两端进行的线性表是一种先进后出型结构错后半句不对(×)10. 一个栈的输入序列是12345则栈的输出序列不可能是12345错有可能三、单项选择题(每小题1分共20分)( B )1. 〖00年元月统考题〗栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出( C )2. 〖李春葆〗若已知一个栈的入栈序列是123...n其输出序列为p1p2p3...pn若p1=n则pi为A.i B.n=i C.n-i+1 D.不确定解释:当p1=n即n是最先出栈的根据栈的原理n必定是最后入栈的那么输入顺序必定是123...n则出栈的序列是n...321( B )3. 〖李春葆〗判定一个栈ST(最多元素为m0)为空的条件是A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0( B )4. 〖李春葆〗判定一个队列QU(最多元素为m0)为满队列的条件是A.QU->rear - QU->front = = m0 B.QU->rear - QU->front -1= =m0C.QU->front = = QU->rear D.QU->front = = QU->rear+1( D )5.数组Q[n]用来表示一个循环队列f为当前队列头元素的前一位置r为队尾元素的位置假定队列中元素的个数小于n计算队列中元素的公式为(A)r-f; (B)(n+f-r)% n; (C)n+r-f; (D)(n+r-f)% n6. 【98初程P71】从供选择的答案中选出应填入下面叙述?内的最确切的解答把相应编号写在答卷的对应栏内设有4个数据元素a1、a2、a3和a4对他们分别进行栈操作或队操作在进栈或进队操作时按a1、a2、a3、a4次序每次进入一个元素假设栈或队的初始状态都是空现要进行的栈操作是进栈两次出栈一次再进栈两次出栈一次;这时第一次出栈得到的元素是 A第二次出栈得到的元素是 B 是;类似地考虑对这四个数据元素进行的队操作是进队两次出队一次再进队两次出队一次;这时第一次出队得到的元素是 C第二次出队得到的元素是 D最后在栈中或队中的元素还有 E 个供选择的答案:A~D:①a1 ②a2 ③ a3 ④a4E:①1 ②2 ③ 3 ④ 0答:ABCDE=241227. 【94初程P75】从供选择的答案中选出应填入下面叙述?内的最确切的解答把相应编号写在答卷的对应栏内栈是一种线性表它的特点是 A设用一维数组A[1...n]来表示一个栈A[n]为栈底用整型变量T指示当前栈顶位置A[T]为栈顶元素往栈中推入(PUSH)一个新元素时变量T的值 B ;从栈中弹出(POP)一个元素时变量T的值 C设栈空时有输入序列abc经过PUSHPOPPUSHPUSHPOP操作后从栈中弹出的元素的序列是 D变量T的值是 E供选择的答案:A:①先进先出②后进先出③进优于出④出优于进⑤随机进出BC:①加1 ②减1 ③不变④清0 ⑤加2 ⑥减2 D:① ac ③ca ④ba ⑤ cb ⑥ acE:① n+1 ②n+2 ③ n ④ n-1 ⑤ n-2答案:ABCDE=22164注意向地址的高端生长称为向上生成堆栈;向地址低端生长叫向下生成堆栈本题中底部为n向地址的低端递减生成称为向下生成堆栈8. 【91初程P77】从供选择的答案中选出应填入下面叙述?内的最确切的解答把相应编号写在答卷的对应栏内在做进栈运算时应先判别栈是否 A ;在做退栈运算时应先判别栈是否 B当栈中元素为n个做进栈运算时发生上溢则说明该栈的最大容量为 C为了增加内存空间的利用率和减少溢出的可能性由两个栈共享一片连续的内存空间时应将两栈的 D 分别设在这片内存空间的两端这样只有当 E 时才产生上溢供选择的答案:AB:①空②满③上溢④下溢C:①n-1 ② n ③ n+1 ④ n/2D:①长度②深度③栈顶④栈底E:①两个栈的栈顶同时到达栈空间的中心点②其中一个栈的栈顶到达栈空间的中心点。
c1科目考试试题
c1科目考试试题考试科目:C1科目一、选择题(每题2分,共20分)1. 在C1科目中,以下哪个选项是正确的编程规范?A. 变量命名应尽可能简短B. 函数命名应使用缩写C. 代码注释应简洁明了D. 代码中可以随意使用全局变量2. 下列关于数据结构的描述,哪一项是错误的?A. 栈是一种后进先出(LIFO)的数据结构B. 队列是一种先进先出(FIFO)的数据结构C. 链表可以高效地进行插入和删除操作D. 哈希表是一种基于数组的数据结构3. 在面向对象编程中,以下哪个概念是用于实现代码复用的?A. 继承B. 封装C. 多态D. 抽象4. 以下哪个算法是用于解决最短路径问题的?A. 快速排序B. 归并排序C. 迪杰斯特拉算法D. 欧几里得算法5. 在数据库设计中,以下哪个概念是用于避免数据冗余和保持数据一致性的?A. 索引B. 视图C. 外键D. 触发器...(此处省略其他选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的三大特性,并给出一个实际应用的例子。
2. 解释什么是递归,并给出一个使用递归解决问题的简单例子。
3. 描述软件开发生命周期(SDLC)的主要阶段,并简述每个阶段的目的。
三、编程题(每题25分,共50分)1. 编写一个函数,该函数接受一个整数数组和一个目标值,返回数组中两个数的索引,使得这两个数的和等于目标值。
如果不存在这样的两个数,返回-1。
2. 给定一个字符串,请编写一个函数来确定字符串中的回文子串的数量。
回文子串是指正读和反读都相同的连续子串。
四、案例分析题(共30分)1. 阅读以下代码片段,并分析其可能存在的问题及改进方法:```pythondef process_data(data):result = []for item in data:if item > 0:result.append(item * 2)return result```2. 假设你是一个团队的项目经理,你的团队正在开发一个电子商务网站。
数据结构题集c语言版考试题及答案
数据结构题集c语言版考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构是指()。
A. 用一组地址连续的存储单元依次存储线性表的元素B. 用一组地址不连续的存储单元依次存储线性表的元素C. 用数组来存储线性表的元素D. 用链表来存储线性表的元素答案:A2. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动()个元素。
A. i-1B. n-iC. n-i+1D. i答案:B3. 对于一个有n个结点的线性表,采用链式存储结构时,进行查找第i个元素(1≤i≤n)的时间复杂度为()。
A. O(1)B. O(n)C. O(log2n)D. O(n^2)答案:B4. 在二叉树的遍历过程中,若一个结点的左子树为空,则该结点的右子树()。
A. 一定为空B. 一定不为空C. 可能为空,也可能不为空D. 以上说法都不对答案:C5. 在二叉排序树中,若某结点的左子树非空,则左子树中的所有结点的值()。
A. 都小于该结点的值B. 都大于该结点的值C. 都等于该结点的值D. 都大于等于该结点的值答案:A6. 一个具有n个顶点的连通图,其边数最少为()。
A. n-1B. nC. n+1D. 2n答案:A7. 在图的遍历中,深度优先搜索算法所对应的数据结构是()。
A. 栈B. 队列C. 链表D. 数组答案:A8. 哈希表的冲突解决方法中,开放定址法的特点是()。
A. 装填因子较大B. 装填因子较小C. 装填因子不受限制D. 以上说法都不对答案:B9. 快速排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B10. 用链表表示线性表的优点是()。
A. 插入和删除操作不需要移动元素B. 节省存储空间C. 可以方便地随机访问D. 可以动态分配存储空间答案:A二、填空题(每题2分,共20分)1. 在顺序表中,若p是指向第i个元素的指针,则p+5表示指向第()个元素的指针。
2012广西壮族自治区计算机等级考试试题二级C试题一点通科目一
2012广西壮族自治区计算机等级考试试题二级C试题一点通科目一1、用于描述内存性能优劣的两个重要指标是( D )A、存储容量和平均无故障工作时间B、存储容量和平均修复时间C、平均无故障工作时间和内存的字长D、存储容量和存取时间2、下列术语中,属于显示器性能指标的是( B )A、速度B、分辨率C、可靠性D、精度3、下列4种设备中,属于计算机输入设备的是( D )A、UPSB、投影仪C、绘图仪D、鼠标器4、第四代计算机的逻辑器件,采用的是( B )A、晶体管B、大规模、超大规模集成电路C、中、小规模集成电路D、微处理器集成电路5、DRAM存储器的中文含义是( B )A、静态随机存储器B、动态随机存储器C、静态只读存储器D、动态只读存储器6、以平均修复时间(MTTR),用于描述计算机的( B )A、可靠性B、可维护性C、性能价格比D、以上答案都不对7、个人计算机属于( C )A、小巨型机B、小型计算机C、微型计算机D、中型计算机8、在计算机领域中,通常用英文单词“bit”来表示( C )A、字B、字长C、二进制位D、字节9、1959年IBM公司的塞缪尔(A。
M。
Samuel)编制了一个具有自学能力的跳棋程序,这属于计算机在( D )方面的应用。
A、过程控制B、数据处理C、计算机科学计算D、人工智能10、在计算机的应用中,“MIS”表示( A )A、管理信息系统B、决策支持系统C、办公自动化D、人工智能11、下面都属于微型计算机输入设备的是( C )A、鼠标器。
绘图仪B、扫描仪,绘图仪C、键盘,条形码阅读器D、打印机,条形码阅读器12、下列4种设备中,属于计算机输出设备的是( C )A、UPSB、条形码阅读器C、绘图仪D、鼠标器13、性能价格比也是一种用来衡量计算机产品优劣的概括性指标。
性能代表系统的使用价值,它一般不包括( D )A、计算机的运算速度B、内存储器容量和存取周期C、通道信息流量速率及输入输出设备的配置D、计算机外形尺寸14、发现软盘带有计算机病毒后,比较彻底的清除方式是( C )A、用查毒软件处理B、删除软盘上的所有文件C、格式化软盘D、用杀毒软件处理15、静态RAM的特点是( A )A、在不断电的条件下,其中的信息保持不变,因而不必定期刷新B、在不断电的条件下,其中的信息不能长时间保持,因而必须定期刷新才不致丢失信息C、其中的信息只能读不能写D、其中的信息断电后也不会丢失16、在衡量计算机的主要性能指标中,字长是( A )A、计算机运算部件一次能够处理的二进制数据位数B、8位二进制长度C、计算机的总线数D、存储系统的容量17、通常说1.44MB软盘中1.44MB指的是( D )A、厂家代号B、商标号C、磁盘编号D、磁盘容量18、性能价格比也是一种用来衡量计算机产品优劣的概括性指标。
2014辽宁省C与数据结构链表考试答题技巧
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
16、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L)))) C)紧凑结构和非紧凑结构 源自 D)内部结构和外部结构
34、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
30、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C)快速排序 D)起泡排序
35、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
19、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
20、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)12
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
2、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
3、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
4、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
5、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
6、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
7、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
8、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
9、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
10、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
11、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
12、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40。