2014陕西省C与数据结构链表一点通科目一

合集下载

最新完整2014年驾考一点通驾照科目一考试题库精华版

最新完整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陕西省公务员考试复习资料一点通科目一

2014陕西省公务员考试复习资料一点通科目一

1、用Word编辑文件时,用户可以设置文件的自动保存时间间隔。

如果改变自动保存时间间隔,将选择____。

A、视图菜单B、编辑菜单C、格式菜单D、工具菜单2、计算机网络的特点是____。

A、运算速度快B、精度高C、资源共享D、内存容量大3、在Word中,"剪切"命令是____。

A、将选择的文本移入剪切板B、将选择的文本复制到剪切板C、将剪切板中的文本粘贴到文本的指定位置 D.仅将文本删除4、在Windows中,关于文件夹哪个说法是不正确的____。

A、各级目录称为文件夹B、不同文件夹中的文件不能有相同的文件名C、文件夹中可以存放文件和其它文件夹D、对文件夹的复制操作和文件是相同的5、标准键盘的回车键上一般都标着____。

A、ShiftB、EnterC、TabD、Backspace6、在使用Word文本编辑软件时,为了改变字符颜色,可先选择文字,然后____。

A、选择菜单[格式][段落]B、选择菜单[格式][前景]C、选择菜单[格式][颜色]D、选择菜单[格式][字体]7、我国政府部门要建立WWW网站,其域名的后缀应该是____。

A、com.auB、gov.auC、D、8、用计算机进行资料检索工作,是属于计算机应用中的____。

A、科学计算B、数据处理C、实时控制D、人工智能9、计算机业界最初的硬件巨头“蓝色巨人”指的是____。

A、IBMB、MicrosoftC、联想D、Sun10、下列有关计算机的描述中,哪项不正确?____A、计算机是完成信息处理的工具。

B、计算机按照人们编写的并预先存储好的程序,对输入的数据进行加工处理。

C、计算机的使用可以提高工作效率和改善生活质量。

D、由于计算机智能技术的发展,机器人最终可以代替人类。

11、比特(bit)是数据的最小单位,一个字节有几个比特组成____。

A、2B、4C、8D、1612、下列哪些计算机网络不是按覆盖地域划分的____。

A、局域网B、都市网C、广域网D、星型网13、下列关于回收站的叙述正确的是____。

c本科目1试题及答案

c本科目1试题及答案

c本科目1试题及答案一、选择题(每题2分,共10分)1. 在C语言中,下列哪个关键字用于定义函数?A. classB. functionC. voidD. int答案:D2. 下列关于C语言数组的描述中,正确的是:A. 数组的大小在运行时可以改变B. 数组的大小在编译时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:B3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. int str[] = "Hello";C. float str[] = "Hello";D. double str[] = "Hello";答案:A4. 下列哪个运算符用于执行逻辑与操作?A. &&B. ||C. =D. ==答案:A5. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是______。

答案:int2. 一个C语言程序的执行总是从______函数开始。

答案:main3. 在C语言中,______运算符用于取模运算。

答案:%4. 要定义一个具有10个元素的整型数组,可以使用以下语法:int array[10] = {0}; 其中,______是数组的元素数量。

答案:105. 字符串"Hello, World!"在C语言中的长度是______。

答案:13三、简答题(每题5分,共20分)1. 描述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

在C语言中,指针主要用于动态内存分配、数组操作、函数参数传递以及实现数据结构如链表等。

2. 解释C语言中结构体(struct)的作用。

2014新疆维吾尔自治区C与数据结构链表考试技巧与口诀

2014新疆维吾尔自治区C与数据结构链表考试技巧与口诀
A)p->next=p->next->next; B) p=p->next;
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 )。

c1科目一考试试题

c1科目一考试试题

c1科目一考试试题
一、选择题
1. 下列哪个是计算机内存中临时存储数据的地方?
A. 硬盘
B. 内存条
C. CPU
D. 鼠标
2. 在Windows操作系统中,Ctrl + C组合键的作用是什么?
A. 复制
B. 粘贴
C. 剪切
D. 删除
3. 下列哪个是一种常见的网络传输协议?
A. HTML
B. HTTP
C. XML
D. CSS
4. 在Excel中,如果想要将A列和B列的数据相加,应该使用哪个
函数?
A. SUM
B. MAX
C. AVERAGE
D. COUNT
5. 以下哪个不是常见的编程语言?
A. Python
B. Java
C. Photoshop
D. C++
二、简答题
1. 请简要说明什么是数据库,并列举一个常见的关系型数据库管理
系统。

2. 什么是IP地址?IPv4和IPv6有什么区别?
3. 请简要介绍一下Linux操作系统的特点以及常见的Linux发行版。

4. 简要描述一下什么是面向对象编程,列举一个常见的面向对象编
程语言。

5. 请简要说明什么是云计算,列举一个常见的云计算服务提供商。

三、综合题
1. 请编写一个简单的Python程序,要求用户输入一个数字n,然后计算并输出1到n之间所有偶数的和。

2. 请简要介绍一下人工智能的发展历程以及应用领域。

3. 选择一款你熟悉的办公软件,在简要介绍该软件的基本功能的基础上,列举其中的一项高级功能并说明其作用。

以上就是C1科目一考试试题的内容,希望能够帮助你进行学习和复习,祝你考试顺利!。

c1科目一考试题

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)试题答案合集

《数据结构》国开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陕西省NCRE二级VB一点通科目一

2014陕西省NCRE二级VB一点通科目一

1、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息2、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码3、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息4、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用5、下面概念中,不属于面向对象方法的是(D)A. 对象B. 继承C. 类D. 过程调用6、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理7、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间8、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 159、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭10、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/211、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致12、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 35113、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 35114、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表15、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

2015年陕西省C与数据结构链表考试技巧、答题原则

2015年陕西省C与数据结构链表考试技巧、答题原则
C.数据元素之间的关系 D.数据的存储方法
35、下列选项中,符合堆定义的是
A.{102,24,55,60,89,93}
B.{24,89,55,60,93,102}
C.{102,93,55,60,89,24}
D.{102,60。89,93,55,24}
36、在平衡二叉树中插入一个结点后造成不平衡,设最低的不平衡结点为A,并已知A的左孩子平衡因子为0,右孩子平衡因子为1,则应该做( )型调整以使其平衡
23、下列选项中,符合堆定义的是
A.{102,24,55,60,89,93}
B.{24,89,55,60,93,102}
C.{102,93,55,60,89,24}
D.{102,60。89,93,55,24}
24、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
45、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
A LL B LR C RL D RR
37、衡量查找算法效率的主要标准是( C )。
A)元素个数 B)所需的存储量
C)平均查找长度 D)算法难易程度
38、在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
39、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1) B.O(n)

《数据结构》国开02272形考任务(1-4)试题答案合集

《数据结构》国开02272形考任务(1-4)试题答案合集

《数据结构》国开02272形考任务(1-4)试题答案合集数据结构国开02272形考任务(1-4)试题答案合集任务一:请简述数据结构的定义和作用。

数据结构是指数据元素之间的关系组成的结构,是一种组织和存储数据的方式。

它涉及到数据的存储、检索和操作等方面。

数据结构的作用在于提供了一种有效的方式来组织和管理数据,使得数据的访问和操作更加高效和方便。

任务二:请简述线性表的定义和特点。

线性表是一种数据结构,它是由一系列数据元素组成的有序序列。

线性表中的元素之间存在前后关系,每个元素只有一个前驱和一个后继,除了第一个元素没有前驱,最后一个元素没有后继。

线性表的特点包括元素之间存在顺序关系、元素的个数有限、元素类型可以相同或不同、元素可以重复。

任务三:请简述栈和队列的定义、特点和应用场景。

栈是一种具有特定操作约束的线性表,它只允许在表的一端进行插入和删除操作,这一端被称为栈顶。

栈的特点是后进先出(LIFO),即最后插入的元素最先被删除。

队列也是一种具有特定操作约束的线性表,它允许在表的一端进行插入操作,另一端进行删除操作,分别称为队尾和队头。

队列的特点是先进先出(FIFO),即最先插入的元素最先被删除。

栈和队列在计算机科学中有广泛的应用。

栈常用于表达式求值、函数调用、回溯等场景,而队列常用于任务调度、缓冲区管理、广度优先搜索等场景。

任务四:请简述链表和数组的定义、特点和应用场景。

链表是一种数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。

链表的特点是节点的内存分布不连续,每个节点可以动态分配空间,节点之间的连接通过指针来实现。

数组是一种数据结构,它由一系列元素按照一定的顺序排列而成。

数组的特点是元素的内存分布连续,每个元素占用相同大小的空间,可以通过索引来访问和操作元素。

链表和数组在数据存储和访问方面有不同的特点和应用场景。

链表适用于频繁插入和删除操作的场景,因为它可以动态分配内存并且插入和删除操作的时间复杂度为O(1)。

《数据结构》-1自考试卷及答案

《数据结构》-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。

(完整版) 《数据结构》教材课后习题+答案

(完整版) 《数据结构》教材课后习题+答案

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

3.简述逻辑结构的四种基本关系并画出它们的关系图。

4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。

A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说法正确的是()。

A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。

A.顺序队列 B. 链表 C. 有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。

(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。

2014陕西省C与数据结构链表考试技巧重点

2014陕西省C与数据结构链表考试技巧重点

1、下列序列中,执行第一趟快速排序后得到的序列是( 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]2、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。

A)一个数量级别 B)一个平均值C)一个最大值 D)一个均方值3、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。

当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。

A) 4 B)3 C)2 D)124、线性表的链接实现有利于( A )运算。

A)插入 B)读元素C)查找 D)定位5、下面程序段的时间复杂度是( 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)6、队列的操作的原则是( A )。

A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除7、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边8、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表C) 双链表 D) 仅有尾指针的单循环链表9、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++10、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。

2015黑龙江省C与数据结构链表一点通科目一

2015黑龙江省C与数据结构链表一点通科目一
C)紧凑结构和非紧凑结构 Hale Waihona Puke D)内部结构和外部结构
38、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
24、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
25、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
D)线性表采用顺序存储,便于进行插入和删除操作。
39、用一维数组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
3、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
4、以下属于顺序存储结构优点的是( A )。
31、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;

其他系统西安交通大学--数据结构所有答案

其他系统西安交通大学--数据结构所有答案

其他系统西安交通大学--数据结构所有答案3,栈和队列都是顺序存取的的线性表,但它们对存取位置的限制不同。

,A 正确 B错误,答案是:A3,在使用后缀表表示实现计算器时用到一个栈的实例,其作用是暂存运算对象。

,A正确 B错误,答案是:A3,具有n个结点的完全二叉树的高度为┖log2n┘1。

,A正确 B错误,答案是:B3,为度量一个搜索算法的性能,需要在时间和空间方面进行权衡。

,A正确 B错误,答案是:A3,闭散列法通常比开散列法时间效率更高。

,A正确 B错误,答案是:B3,一棵m阶B树中每个结点最多有m个关键码,最少有2个关键码。

,A 正确 B错误,答案是:B3,有向图的邻接表和逆邻接表中表结点的个数不一定相等。

,A正确 B错误,答案是:B3,对链表进行插入和删除操作时不必移动链表中结点。

,A正确 B错误,答案是:A3,希尔排序算法的时间复杂度为On2。

,A正确 B错误,答案是:B3,用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。

,A正确 B错误,答案是:B3,通常使用两个类来协同表示单链表,即链表的结点类和链表类。

,A正答案是:A3,顺序表用一维数组作为存储结构,因此顺序表是一维数组。

,A正确 B 错误,答案是:B3,二维数组是数组元素为一维数组的线性表,因此它是线性结构。

,A正确 B错误,答案是:B3,算法的运行时间涉及加、减、乘、除、转移、存、取、等基本运算。

要想准确地计算总运算时间是不可行的。

,A正确 B错误,答案是:A3,堆是完全二叉树,完全二叉树不一定是堆。

(),A正确 B错误,答案是:A3,顺序表查找指的是在顺序存储结构上进行查找。

(),A正确 B错误,答案是:B3,入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。

,A正确 B错误,答案是:A3,中序遍历一棵二叉排序树可以得到一个有序的序列。

,A正确 B错误,答案是:A3,用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。

《C语言数据结构》第1至9章自测题答案大全

《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科目考试试题考试科目: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. 假设你是一个团队的项目经理,你的团队正在开发一个电子商务网站。

2012年陕西省C与数据结构链表理论考试试题及答案

2012年陕西省C与数据结构链表理论考试试题及答案
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
3、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
28、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
C. 72 D. 53
29、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
30、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s

(完整版) 《数据结构》教材课后习题+答案

(完整版) 《数据结构》教材课后习题+答案

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

3.简述逻辑结构的四种基本关系并画出它们的关系图。

4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。

A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说法正确的是()。

A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。

A.顺序队列 B. 链表 C. 有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。

(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。

2010黑龙江省C与数据结构链表一点通科目一

2010黑龙江省C与数据结构链表一点通科目一
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
25、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
26、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
32、用一维数组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
1、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
2、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
C)6 D)7
30、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
31、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
C) O(m*n) D)O(1)
15、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
16、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
4、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
5、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
35、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
36、n个顶点的图的最小生成树必定( D ),是不正确的描述。
29、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
30、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
31、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
26、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
27、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
12、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C)查找 D)定位
17、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
C)p=p->nexe->next D)p->next=p
40、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
C)等量分块表示法 D)不等量分块表示法
28、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
34、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
C) E, A, B, C, D
D) E, D, C, B, A
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)FCFS D)HPF
15、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
16、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
19、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
2、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
3、采用链结构B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
37、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
38、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
39、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)不含回路 D)有n条边
9、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
10、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
C) rear=front->next; D) front=rear->next ;
6、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
20、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
21、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
44、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
43、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)12
C)线性结构和非线性结构 D)内部结构和外部结构
23、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
A)n B)2e C)e D) n+e
32、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
33、采用链结构存储线性表时,其地址( B )。
C) 对角矩阵 D) 对称矩阵
13、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
14、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
41、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
42、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
11、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
18、下面程序段的时间复杂度是( 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)
24、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
25、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
8、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
相关文档
最新文档