2015青海省数据结构考试基础
- 格式:pdf
- 大小:121.92 KB
- 文档页数:3
1、线性表的链接实现有利于( A )运算。
A)插入 B)读元素C)查找 D)定位2、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法3、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p4、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++5、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除6、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,37、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;C) rear=front->next; D) front=rear->next ;8、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)19、与无向图相关的术语有( C )。
A)强连通图 B)入度C)路径 D)弧10、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树C) 广义表 D) 图11、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
1、与无向图相关的术语有( C )。
A)强连通图 B)入度C)路径 D)弧2、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5C)6 D)73、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便C)删除运算方便D)可方便地用于各种逻辑结构的存储表示4、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序5、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
6、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)407、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;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、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;C) rear=front->next; D) front=rear->next ;10、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
1、数据结构研究的内容是( D )。
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、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;C) rear=front->next; D) front=rear->next ;4、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1C) D->Rchild=Null D) D->ltag=05、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
6、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFOC)FCFS D)HPF7、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p8、在一个单链表中,已知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;9、数据结构研究的内容是( D )。
1、文件的存取控制属性中,只读的含义是指该文件只能读而不能____。
A、修改B、删除C、复制D、移动2、在word编辑状态下,若要将另一文档的内容全部添加在当前文档插入点处,应该选择的操作是____。
A、单击“文件”—“打开”B、单击“文件”—“新建”C、单击“插入”—“文件”D、单击“插入”—“超级链接”3、黎明在网上看到自己喜欢的图片,想将其下载到自己的电脑里,以下哪种操作能正确的帮助其实现图片的下载?____A、直接按鼠标左键B、按鼠标右键,选择图片另存为C、按鼠标中间键D、双击鼠标4、多媒体技术的主要特性有:(1)多样性(2)集成性(3)交互性(4)可传播性____。
A 、(1) B、(1)(2) C、(1)(2)(3) D、全部5、Word中项目编号的作用是____。
A、为每个标题编号B、为每个自然段编号C、为每行编号D、以上都正确6、划分计算机发展四个时代的主要依据是____。
A 、价格 B、体积 C、存储容量 D、电子元器件7、CPU表示____。
A、计算机的中央处理器B、计算器C、控制器D、ALU8、字符串“IBM”中的字母B存放在计算机内占用的二进制位个数是____。
A、8B、4C、2D、19、下叙述正确的是____。
A、计算机中所存储处理的信息是模拟信号B、数字信息易受外界条件的影响而造成失真C、光盘中所存储的信息是数字信息D、模拟信息将逐步取代数字信息10、文件的存取控制属性中,只读的含义是指该文件只能读而不能____。
A、修改B、删除C、复制D、移动11、FTP是一个____协议,它可以用来下载和传送计算机中的文件。
A、文件传输B、网站传输C、文件压缩D、文件解压12、在“记事本”或“写字板”窗口中,对当前编辑的文档进行存储,可以用____快捷键。
A、Alt+FB、Alt+SC、Ctrl+SD、Ctrl+F13、计算机当前正在运行的程序和数据主要存放在____中。
A、CPUB、微处理器C、主存储器D、键盘14、浏览Web网站必须使用浏览器,目前常用的浏览器是____。
1、鼠标器是一种____A、输出设备B、存储器C、运算控制单元D、输入设备2、计算机科学的奠基人是____。
A、查尔斯.巴贝奇B、图灵C、阿塔诺索夫D、冯.诺依曼3、设置屏幕保护程序时,其对话框的标题是____A、系统属性B、显示属性C、文件属性D、文件夹属性4、下列关于IP的说法错误的是_______A、IP地址在Internet上是唯一的B、IP地址由32位十进制数组成C、IP地址是Internet上主机的数字标识D、IP地址指出了该计算机连接到哪个网络上5、在选定文件或文件夹后,将其彻底删除的操作是____。
A、用Delete键删除B、用Shift+Delete键删除C、用鼠标直接将文件或文件夹拖放到回收站中D、用窗口中文件菜单中的删除命令6、1G是1M的____倍。
A、1024B、1000C、100D、107、计算机的主存储器指的是____。
A、ROM和RAMB、硬盘和软盘C、硬盘和光盘D、光盘和软盘8、在网页中最为常用的两种图像格式是____。
A、JPEG和GIFB、GIF和BMPC、JPEG和PSDD、BMP和PSD9、以下____视图不是WORD提供的视图。
A、页面B、Web版式C、联合D、大纲10、计算机内所有的信息都是以____数码形式表示的A、八进制B、十进制C、二进制D、十六进制11、下列四项中主要用于在Internet上交流信息的是____。
A、BBSB、DOSC、WordD、Excel12、计算机当前正在运行的程序和数据主要存放在____中。
A、CPUB、微处理器C、主存储器D、键盘13、下面对中文Word 的特点描述正确的是____。
A、一定要通过使用“打印预览”才能看到打印出来的效果B、不能进行图文混排C、所见即所得D、无法检查常见的英文拼写及语法错误14、以下关于信息、说法正确的是____A、只有以书本的形式才能长期保存信息。
B、数字信号比模拟信号易受干扰而导致失真C、计算机以数字化的方式对各种信息进行处理D、信息的数字技术已逐步被模拟化技术所取代15、文件的存取控制属性中,只读的含义是指该文件只能读而不能____。
1、硬盘的容量比软盘大得多,其读写速度与软盘相比则____A)差不多 B、慢一些 C、快得多 D、慢得多2、现在Internet上的电子书籍多数采用PDF格式存储和传递,这种格式的文件是用____软件来打开并阅读的。
A、Microsoft OfficeB、Real PlayerC、Adobe Acrobat ReaderD、ACDsee3、万维网WWW以____方式提供世界范围的多媒体信息服务。
A、文本B、信息C、超文本D、声音4、局域网组网完成后,决定网络使用性能的关键是____。
A、网络的拓扑结构B、网络的通信协议C、网络的传输介质D、网络的操作系统5、域名中的后缀.com表示机构所属类型为____。
A、军事机构B、政府机构C、教育机构D、商业公司6、在word 编辑器状态下,若要进行选定文本行间距的设置,应该选择的操作是____。
A、单击“编辑”|“格式”B、单击“格式”|“段落”C、单击“编辑”|“段落”D、单击“格式”|“字体”7、操作系统中的文件系统管理主要负责____。
A、内存的分配与回收B、处理器的分配和控制C、I/O设备的分配与操纵D、磁盘文件的创建、存取、复制和删除8、用以太网形式构成的局域网,其拓扑结构为____。
A、环型B、总线型C、星型D、网状型9、OSI(开放系统互联)参考模型的最低层是____。
A、传输层B、网络层C、物理层D、应用层10、通过Internet发送或接收电子邮件(Email)的首要条件是应该有一个电子邮件(Email)地址,它的正确形式是____。
A、用户名@域名B、用户名#域名C、用户名/域名D、用户名、域名11、计算机黑客是指____。
A、能自动产生计算机病毒的一种设备B、专门盗窃计算机及计算机网络系统设备的人C、非法编制的、专门用于破坏网络系统的计算机病毒D、非法窃取计算机网络系统密码,从而进入计算机网络的人12、计算机内部进行算术与逻辑运算功能的部件是____。
2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改) 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改)的全部内容。
2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C .A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便.6.以下说法正确的是 D 。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A .(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。
1、(1)p->rchild (2)p->lchild (3)p->lchild (4)ADDQ(Q,p->lchild) (5)ADDQ(Q,p->rchild)25. (1)t->rchild!=null (2)t->rchild!=null (3)N0++ (4)count(t->lchild) (5)count(t->rchild)26. .(1)top++ (2) stack[top]=p->rchild (3)top++ (4)stack[top]=p->lchild27. (1)*ppos // 根结点(2)rpos=ipos (3)rpos–ipos (4)ipos (5)ppos+12、请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一个单链表,表头指针为head。
二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。
分析你的算法的时、空复杂度。
3、二叉树的层次遍历序列的第一个结点是二叉树的根。
实际上,层次遍历序列中的每个结点都是“局部根”。
确定根后,到二叉树的中序序列中,查到该结点,该结点将二叉树分为“左根右”三部分。
若左、右子树均有,则层次序列根结点的后面应是左右子树的根;若中序序列中只有左子树或只有右子树,则在层次序列的根结点后也只有左子树的根或右子树的根。
这样,定义一个全局变量指针R,指向层次序列待处理元素。
算法中先处理根结点,将根结点和左右子女的信息入队列。
然后,在队列不空的条件下,循环处理二叉树的结点。
队列中元素的数据结构定义如下:typedef struct{ int lvl; //层次序列指针,总是指向当前“根结点”在层次序列中的位置int l,h; //中序序列的下上界int f; //层次序列中当前“根结点”的双亲结点的指针int lr; // 1—双亲的左子树 2—双亲的右子树}qnode;BiTree Creat(datatype in[],level[],int n)//由二叉树的层次序列level[n]和中序序列in[n]生成二叉树。
1、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库2、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)3、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性4、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D.由整体到局部5、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间6、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭7、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式8、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调用关系D. 组成关系9、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考10、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性11、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用12、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致13、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
1、4、void LinkList_reverse(Linklist &L)
//链表的就地逆置;为简化算法,假设表长大于2
{
p=L->next;q=p->next;s=q->next;p->next=NULL;
while(s->next)
{
q->next=p;p=q;
q=s;s=s->next; //把L的元素逐个插入新表表头
}
q->next=p;s->next=q;L->next=s;
}//LinkList_reverse
2、设计一个尽可能的高效算法输出单链表的倒数第K个元素。
3、我们用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);
}// Platform
4、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。
(20分)
5、矩阵中元素按行和按列都已排序,要求查找时间复杂度为O(m+n),因此不能采用常规的二层循环的查找。
可以先从右上角(i=a,j=d)元素与x比较,只有三种情况:一是A[i,j]>x,这情况下向j 小的方向继续查找;二是A[i,j]<x,下步应向i大的方向查找;三是A[i,j]=x,查找成功。
否则,若下标已超出范围,则查找失败。
void search(datatype A[ ][ ], int a,b,c,d, datatype x)
//n*m矩阵A,行下标从a到b,列下标从c到d,本算法查找x是否在矩阵A中.
{i=a; j=d; flag=0; //flag是成功查到x的标志
while(i<=b && j>=c)
if(A[i][j]==x) {flag=1;break;}
else if (A[i][j]>x) j--; else i++;
if(flag) printf(“A[%d][%d]=%d”,i,j,x); //假定x为整型.
else printf(“矩阵A中无%d 元素”,x);
}算法search结束。
[算法讨论]算法中查找x的路线从右上角开始,向下(当x>A[i,j])或向左(当x<A[i,j])。
向下最多是m,向左最多是n。
最佳情况是在右上角比较一次成功,最差是在左下角(A[b,c]),比较m+n次,故算法最差时间复杂度是O(m+n)。
6、假设K1,…,Kn是n个关键词,试解答:
试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2,…,Kn 时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。
7、矩阵中元素按行和按列都已排序,要求查找时间复杂度为O(m+n),因此不能采用常规的二层循环的查找。
可以先从右上角(i=a,j=d)元素与x比较,只有三种情况:一是A[i,j]>x,这情况下向j 小的方向继续查找;二是A[i,j]<x,下步应向i大的方向查找;三是A[i,j]=x,查找成功。
否则,若下标已超出范围,则查找失败。
void search(datatype A[ ][ ], int a,b,c,d, datatype x)
//n*m矩阵A,行下标从a到b,列下标从c到d,本算法查找x是否在矩阵A中.
{i=a; j=d; flag=0; //flag是成功查到x的标志
while(i<=b && j>=c)
if(A[i][j]==x) {flag=1;break;}
else if (A[i][j]>x) j--; else i++;
if(flag) printf(“A[%d][%d]=%d”,i,j,x); //假定x为整型.
else printf(“矩阵A中无%d 元素”,x);
}算法search结束。
[算法讨论]算法中查找x的路线从右上角开始,向下(当x>A[i,j])或向左(当x<A[i,j])。
向下最多是m,向左最多是n。
最佳情况是在右上角比较一次成功,最差是在左下角(A[b,c]),比较m+n次,故算法最差时间复杂度是O(m+n)。
8、设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。
9、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。
若非二叉排序树,则置flag为false。
#define true 1
#define false 0
typedef struct node
{datatype data; struct node *llink,*rlink;} *BTree;
void JudgeBST(BTree t,int flag)
// 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag得出结论。
{ if(t!=null && flag)
{ Judgebst(t->llink,flag);// 中序遍历左子树
if(pre==null)pre=t;// 中序遍历的第一个结点不必判断
else if(pre->data<t->data)pre=t;//前驱指针指向当前结点
else{flag=flase;} //不是完全二叉树
Judgebst (t->rlink,flag);// 中序遍历右子树
}//JudgeBST算法结束
10、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。
20分
void Hospital(AdjMatrix w,int n)
//在以邻接带权矩阵表示的n个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。
{for (k=1;k<=n;k++) //求任意两顶点间的最短路径
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (w[i][k]+w[k][j]<w[i][j]) w[i][j]=w[i][k]+w[k][j];
m=MAXINT; //设定m为机器内最大整数。
for (i=1;i<=n;i++) //求最长路径中最短的一条。
{s=0;
for (j=1;j<=n;j++) //求从某村庄i(1<=i<=n)到其它村庄的最长路径。
if (w[i][j]>s) s=w[i][j];
if (s<=m) {m=s; k=i;}//在最长路径中,取最短的一条。
m记最长路径,k记出发顶点的下标。
Printf(“医院应建在%d村庄,到医院距离为%d\n”,i,m);
}//for
}//算法结束
对以上实例模拟的过程略。
各行中最大数依次是9,9,6,7,9,9。
这几个最大数中最小者为6,故医院应建在第三个村庄中,离医院最远的村庄到医院的距离是6。
1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。