文档库 最新最全的文档下载
当前位置:文档库 › 2013-2014第二学期数据结构期末试卷A卷

2013-2014第二学期数据结构期末试卷A卷

2013-2014第二学期数据结构期末试卷A卷
2013-2014第二学期数据结构期末试卷A卷

合肥学院20 13 至20 14 学年第 2 学期

数据结构与算法设计 课程考试( A )卷

系 级 专业 学号 姓名

一、选择题:(2分×15=30分)

1. 栈和队列的共同特点是( )。

A 、只允许在端点处插入和删除元素

B 、都是先进后出

C 、都是先进先出

D 、没有共同点

2. 以下数据结构中哪一个是非线性结构?( )

A 、 队列

B 、 栈

C 、 线性表

D 、 二叉树 3.下面程序的时间复杂为( )。

for (i=1,s=0; i<=n ; i++) {t=1;for(j=1;j<=i ;j++) t=t*j ;s=s+t ;} A 、 O(n) B 、 O(n 2) C 、 O(n 3) D 、 O(n 4)

4.在一个单链表中,已知q 结点是p 结点的前趋结点,若在q 和p 之间插入s 结点,则须执行( )。

A .s->next=p->next; p->next=s

B .q->next=s; s->next=p

C .p->next=s->next; s->next=p

D .p->next=s; s->next=q

5. 设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是( )。 A 、 40,42,45,55,80,83 B 、 42,40,45,80,85,88 C 、 42,40,45,55,80,85 D 、 42,40,45,85,55,80 6.设一个有序的单链表中有n 个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( )。 A 、 O(log 2n) B 、 O(1) C 、 O(n 2) D 、 O(n)

7. 设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A 、5

B 、6

C 、7

D 、8

8.设连通图G 中的边集E={(a ,b),(a ,e),(a ,c),(b ,e),(e ,d)

,(d ,f),(f ,c)},则从顶点a 出发可以得到一种深度优先遍历的顶点序列为( )。 A 、 abedfc B 、 acfebd C 、 aebdfc D 、 aedfcb

9. 设散列表长m=14,散列函数H (K )=K %11,已知表中已有4个结点:r(15)=4; r(38)=5; r(61)=6;r(84)=7,其他地址为空,如用二次探测再散列处理冲突,关键字为49的结点地址是( )。

A 、 8

B 、3

C 、 5

D 、9

10. 设用邻接矩阵A 表示有向图G 的存储结构,则有向图G 中顶点i 的入度为( )。 A 、 第i 行非0元素的个数之和 B 、 第i 列非0元素的个数之和 C 、 第i 行0元素的个数之和 D 、 第i 列0元素的个数之和

11.设指针变量top 指向当前链式栈的栈顶,则删除栈顶元素的操作序列为( )。

装 订 线

A 、 top=top+1

B 、 top=top-1

C 、 top->next=top;

D 、 top=top->next 12. 二叉树的第K 层的结点数最多为( )。

A 、2k -1

B 、2K +1

C 、2K-1 +1

D 、 2k-1

13. 设有向无环图G 中的有向边集合E={<1,2>,<2,3>,<3,4>,<1,4>},则下列属于该有向图G 的一种拓扑排序序列的是( )。 A 、 1,2,3,4 B 、 2,3,4,1 C 、 1,4,2,3 D 、1,2,4,3

14. 设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为( )。 A 、 4 B 、 5 C 、 6 D 、 7

15.图的深度优先遍历类似于二叉树的( )。

A.先序遍历

B.中序遍历

C.

D.层次遍历

二、填空题:(2分×

10=20分)

1.设顺序线性表中有n 个数据元素,则在第i 个位置上插入一个数据元素需要移动表中 数据元素个数是

2.设指针变量p 指向单链表中结点A ,指针变量s 指向被插入的新结点X ,则在p 后进行插入操作的语句序列为( ; )(设结点的指针域为next )。 3. 设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟直接插入排序结束后的结果的是 。

4.设某无向图G 中有n 个顶点,用邻接矩阵A 作为该图的存储结构,则顶点i 和顶点j 互为邻接点的条件是 。

5. 设二叉排序树的高度为h ,则在该树中查找关键字key 最多需要比较 次。

6. 设一组初始记录关键字序列(k1,k2,……,kn)是小根堆,则对i=1,2,…,n/2而言满足的条件为 。

7. 下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。 struct record{int key; int others;}; int bisearch(struct record r[ ], int k) {

int low=0,mid,high=n-1; while(low<=high) {

;

if(r[mid].key==k) return(mid+1);

else if( ) high=mid-1;

else low=mid+1;}

return(0);}

8.若要对某二叉排序树进行遍历,保证输出所有结点的值序列有序排列,应对该二叉排序树采用________遍历法。

三、应用题:(5分×5=25分)

1. 设一棵树T 中边的集合为{(A ,B),(A ,C),(A ,D),(B ,E),(C ,F),(C ,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。

2.请画出下图的邻接矩阵和邻接表。

3. 设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉排序树并给

出构造过程。

4. 设有无向图G

装 订 线

5、 假设一棵二叉树的先序序列是ABCDEFGHIJ 和中序序列是CDBFEAIHGJ,请画出该树。

四、算法阅读题:(12分)

1、LinkList mynote(LinkList L) (7分) {//L 是不带头结点的单链表的头指针 if(L&&L->next){

q=L ;L=L ->next ;p=L ; S1: while(p ->next) p=p ->next ; S2: p ->next=q ;q ->next=NULL ; }

return L ; }

请回答下列问题:

(1)说明语句S1的功能。 (2)说明语句组S2的功能。

(3)设链表表示的线性表为(a1,a2, …,an ),写出算法执行后的返回值所表示的线性表。

2.void ABC(BTNode * BT) (5分) {

if BT {

ABC (BT->left); ABC (BT->right); visit(BT); } }

该算法的功能是:

五、算法设计题:(13分)

1. 设计两个有序单链表的合并排序算法。(7分)

2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。(6分)

线

(完整版)数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1 .实验目的 (1 )掌握使用Visual C++ 6.0 上机调试程序的基本方法; (2 )掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2 .实验要求 (1 )认真阅读和掌握和本实验相关的教材内容。 (2 )认真阅读和掌握本章相关内容的程序。 (3 )上机运行程序。 (4 )保存和打印出程序的运行结果,并结合程序进行分析。 (5 )按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>// 头文件 #include// 库头文件------ 动态分配内存空间 typedef int elemtype;// 定义数据域的类型 typedef struct linknode// 定义结点类型 { elemtype data;// 定义数据域 struct linknode *next;// 定义结点指针 }nodetype; 2)创建单链表

nodetype *create()// 建立单链表,由用户输入各结点data 域之值, // 以0 表示输入结束 { elemtype d;// 定义数据元素d nodetype *h=NULL,*s,*t;// 定义结点指针 int i=1; cout<<" 建立一个单链表"<> d; if(d==0) break;// 以0 表示输入结束 if(i==1)// 建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));// 表示指针h h->data=d;h->next=NULL;t=h;//h 是头指针 } else// 建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t 始终指向生成的单链表的最后一个节点

数据库期末复习试卷及答案一

试题一 一、单项选择题 在每小题列出的四个备选项中只有一个是符合题目要求的,请 将其代码填写在题后的括号内。错选、多选或未选均无分。1. 数据库系统的核心是( B ) A.数据库B.数据库管理系统 C.数据模型D.软件工具 2.下列四项中,不属于数据库系统的特点的是(C ) A.数据结构化B.数据由DBMS统一管理和控制 C.数据冗余度大D.数据独立性高 3.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D ) 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.车次B.日期 C.车次+日期D.车次+情况摘要 8.己知关系R和S,R∩S等价于( B ) A. (R-S)-S B. S-(S-R) C.(S-R)-R D. S-(R-S) 9.学校数据库中有学生和宿舍两个关系: 学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号) 假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配的情况, 包括没有住宿的学生和空闲的床位,则应执行( A ) A. 全外联接 B. 左外联接

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 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. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

2014(1)数据结构-A-试题

南阳理工学院2013-2014学年第2学期试卷(A卷) 课程:《数据结构》课程号:1504108130 考核方式:(闭卷)课程性质:专业必修课适用对象:12级软件工程专业 题号一二三四五总分复核人 满分20 20 10 30 20 100 得分 评卷人得分 一、选择题:(每题2 分,共20 分) 1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06, 07,08,09},R={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03, 07>,<03,08>,<03,09>},则数据结构A是()。 A.线性结构 B.树型结构 C.物理结构 D.图型结构 2.栈和队列的共同特点是()。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 3.在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是()。 A.p->next->next==head B.p->next==head C.p->next->next==NULL D.p->next==NULL 4.在单链表中,要将s所指结点插入到p所指结点之后,其语句应为()。 A.s->next=p+1; p->next=s; B.(*p).next=s; (*s).next=(*p).next; C.s->next=p->next; p->next=s->next; D.s->next=p->next; p->next=s; 5.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾 元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为 ()。 A.r-f B.(n+f-r)%n C.n+r-f D.(n+r-f)%n 6.设有数组A[0..7][0..9],数组的每个元素长度为2字节,数组从内存首地址 1000开始顺序存放,当用以行为主存放时,元素A[5][8]的存储首地址为()。 A.1116 B.1094 C.1138 D.1120 7.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上 所有元素)依次存放于一维数组B[1..n(n+1)/2]中,则在B中确定a ij(i

中南大学oracle数据库期末考试试题及答案

A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; B7、锁用于提供( )。 A.改进的性能

B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR

sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是()。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 满分:5 分 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是()。 A. Update B. Delete C. Insert D. Alter 满分:5 分 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于()。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 满分:5 分 4. 如果要在一管理职工工资的表中限制工资的输入围,应使用()约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 满分:5 分 5. 记录数据库事务操作信息的文件是()。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 满分:5 分 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用()命令。 A. SELECT * FROM CP WHERE 产品名称LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 满分:5 分 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是()。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 满分:5 分

数据库期末试卷

浙江工业大学 《数据库原理及应用》 一、填空题 1、SELECT Name,Tele FROM Person 的作用是。 2、数据独立性是指数据与应用程序之间不存在相互依赖关系,分为 和。 3、用树型结构表示实体类型及实体间联系的数据模型称为层次模 型。 4、提供数据库定义、数据装入、数据操纵、数据控制和DB维护功能的软件称为 _ 数据管理系统 _。 5、在关系代数中专门的关系运算包括、、、除等。 6、关系数据库的第一范式保证列的原子 性。 7、一个数据库由若干个表组成,关系的元组称为,属性称为。 8 久性。 9、数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。 10、并发操作带来的数据不一致性包括三类:丢失覆盖修改、 不可重复读、 读”脏数据。 11、管理信息系统的四种结构模式为:单机模式、、 和。 12、数据管理技术经历了:人工管理阶段、文件管理阶段以及数据库系统阶段 三个发展阶段。

14、实体之间的联系按照联系方式的不同可分为一对一或1:1 、 一对多或1:n 、___ 多对多或m:n 。 15、E-R图中包括__实体、____ 属性和联系三种基 本图素。 16、数据模型由三部分组成:模型结构、数据操作、数据约束条件 。 17、事务必须具有的四个性质是:原子性、一致性、隔离性和持久 性。 18、基本的封锁类型有排它锁和共享锁两种。 19、DB并发操作通常会带来三类问题,它们是丢失修改、不一致分析和读脏数据。 20、数据库系统可能发生的故障有:事务内部的故障系统故障、和介质故障等。计算机病毒 21、按转储时间来分,数据转储可分为静态转储和动态转储两种方式。 22、列举三种管理信息系统开发的方法:结构化开发方法、__原型方 法_ _____、 面向对象方法。 23、一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间的联系为一对多联系。 二、判断题 1、关系中允许有重复的元组,但是不允许有重复的属性名。() 2、关系代数的运算对象是关系,但运算结果不是关系。() 3、连接操作可以多个表之间进行,也可以在一个表内进行。() 4、触发器是一种很有效的保证数据库完整性的手段。() 5、对于关系R、S,如果R-S的元组数是0,则说明R中包含了S的所有元组。 ()6、设关系R、S的元组数分别是20、30,则R和S连接的元组数不可能超过50。 () 7、数据库中的每一个基本表与外部存储器上一个物理文件对应。() 8、一个数据库可以有多个外模式和多个内模式。() 9、概念模型向关系模型转换时,实体间的n:m联系可以有两种转换方法,一

数据结构期末考试试题含答案

2005年-2006学年第二学期“数据结构”考试试题(A) 姓名学号(序号)_ 答案隐藏班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1.数据的运算a 。 A.效率与采用何种存储结构有关 B.是根据存储结构来定义的 C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述 答:A。 2. 链表不具备的特点是 a 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 答:参见本节要点3。本题答案为:A。 3. 在顺序表中删除一个元素的时间复杂度为 c 。 A.O(1) B.O(log2n) C.O(n) D.O(n2) 答:C。 4.以下线性表的存储结构中具有随机存取功能的是 d 。 A. 不带头结点的单链表 B. 带头结点的单链表 C. 循环双链表 D. 顺序表 解 D。 5. 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。

A.edcba B.decba C.dceab D.abcde 答:C。 6. 循环队列qu的队空条件是 d 。 A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B. (qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front 答:D。 7. 两个串相等必有串长度相等且 b 。 A.串的各位置字符任意 B.串中各位置字符均对应相等 C.两个串含有相同的字符 D.两个所含字符任意 答:B。 8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90, 80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94, 40 答:C。 9. 以下序列不是堆(大根或小根)的是 d 。 A.{100,85,98,77,80,60,82,40,20,10,66} B.{100,98,85,82,80, 77,66,60,40,20,10} C.{10,20,40,60,66,77,80,82,85,98,100} D.{100,85,40,77,80, 60,66,98,82,10,20}

数据结构实验报告

《用哈夫曼编码实现文件压缩》 实验报告 课程名称数据结构 实验学期2015至2016学年第一学期 学生所在系部计算机学院 年级2014专业班级物联B142班 学生姓名杨文铎学号201407054201 任课教师白磊 实验成绩

用哈夫曼编码实现文件压缩 1、了解文件的概念。 2、掌握线性表的插入、删除的算法。 3、掌握Huffman树的概念及构造方法。 4、掌握二叉树的存储结构及遍历算法。 5、利用Haffman树及Haffman编码,掌握实现文件压缩的一般原理。 微型计算机、Windows系列操作系统、Visual C++6.0软件 根据ascii码文件中各ascii字符出现的频率情况创建Haffman树,再将各字符对应的哈夫曼编码写入文件中,实现文件压缩。 本次实验采用将字符用长度尽可能短的二进制数位表示的方法,即对于文件中出现的字符,无须全部都用S为的ascii码进行存储,根据他们在文件中出现的频率不同,我们利用Haffman算法使每个字符能以最短的二进制数字符进行存储,已达到节省存储空间,压缩文件的目的,解决了压缩需要采用的算法,程序的思路已然清晰: 1、统计需压缩文件中的每个字符出现的频率 2、将每个字符的出现频率作为叶子节点构建Haffman树,然后将树中结点引向 其左孩子的分支标“0”,引向其右孩子的分支标“1”;每个字符的编码 即为从根到每个叶子的路径上得到的0、1序列,这样便完成了Haffman 编码,将每个字符用最短的二进制字符表示。 3、打开需压缩文件,再将需压缩文件中的每个ascii码对应的haffman编码按bit 单位输出。 4、文件压缩结束。 (1)构造haffman树的方法一haffman算法 构造haffman树步骤: I.根据给定的n个权值{w1,w2,w3…….wn},构造n棵只有根结点的二叉 树,令起权值为wj。 II.在森林中选取两棵根结点权值最小的树作左右子树,构造一棵新的二叉树,置新二叉树根结点权值为其左右子树根结点权值之和。 III.在森林中删除这两棵树,同时将得到的二叉树加入森林中。 IV.重复上述两步,知道只含一棵树为止,这棵树即哈夫曼树。 对于haffman的创建算法,有以下几点说明: a)这里的Haffman树采用的是基于数组的带左右儿子结点及父结点下标作为

sql数据库期末考试题及答案

一、单选题(共10 道试题,共50 分。) 1. SQL Server中,保存着每个数据库对象的信息的系统表是(C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A)。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D)。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE …冰箱? B. SELECT * FROM XSH WHERE 产品名称LIKE …冰箱? C. SELECT * FROM CP WHERE 产品名称LIKE …%冰箱%? D. SELECT * FROM CP WHERE 产品名称=…冰箱? 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列(C)。 A. 数值为0 B. 数值为空格 C. 数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D)中。 A. 内存 B. CPU C. 寄存器 D. 磁盘 二、判断题(共10 道试题,共50 分。)V 1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。 A. 错误 B. 正确 2. 在sysdatabases中,还记录着存储过程中每个参数的信息。A A. 错误 B. 正确 3. 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY 子句。A A. 错误 B. 正确 4. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A A. 错误 B. 正确 5. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B A. 错误 B. 正确 6. 使用INSERT命令一次只能插入一行数据。A A. 错误 B. 正确

数据结构期末考试试题答案详解

《数据结构》试题(100分) (供2005级信息管理与信息系统本科专业使用) 学号: 姓名: 座号: 系别: 年级: 专业: 总分合计人: 复核人: 说明:本试卷分为两部分,第I 卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II 卷直接在试卷上作答。不按规定答题、填涂,一律无效。 第I 卷 一、试题类型:单项选择题(每小题2分,共40分) (类型说明:在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。多涂、少涂、错误均无分。) 1. 算法分析的两个主要方面是: ( ) (A) 空间复杂性和时间复杂性 (B) 正确性和简明性 (C) 可读性和文档性 (D) 数据复杂性和程序复杂性 2. 计算机算法指的是: ( ) (A) 计算方法 (B) 排序方法 (C) 解决问题的有限运算序列 (D) 调度方法 3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为:( ) (A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构 4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。 ( ) (A )110 (B )108 (C )100 (D )120 5. 链接存储的存储结构所占存储空间: ( ) (A )分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B )只有一部分,存放结点值 (C ) 只有一部分,存储表示结点间关系的指针 (D ) 分两部分,一部分存放结点值,另一部分存放结点所占单元数 6. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( ) (A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以

数据结构实验报告

数据结构实验报告 第 6 次实验 学号:20141060106 :叶佳伟 一、实验目的 1、复习图的逻辑结构、存储结构及基本操作; 2、掌握邻接矩阵、邻接表及图的创建、遍历; 3、了解图的应用。 二、实验容 1、(必做题)假设图中数据元素类型是字符型,请采用邻接矩阵或邻接表实现图的以下基本操作: ( 1)构造图(包括有向图、有向网、无向图、无向网); ( 2)根据深度优先遍历图; ( 3)根据广度优先遍历图。 三、算法描述 (采用自然语言描述) 四、详细设计 (画出程序流程图) 五、程序代码 (给出必要注释) #include #include #include #include #include #define INFINITY 255678 /*赋初值用*/ #define MAX_VERTEX_NUM 20 /* 最大顶点个数*/ enum {DG, DN, UDG, UDN}; . .

typedef struct ArcCell { int adj;/*顶点关系类型,对无权图,用1(是)或0(否)表示相邻否;对带权图,则为权值*/ char *info;/*弧相关信息指针*/ }AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { char vexs[MAX_VERTEX_NUM][5];/*顶点向量*/ AdjMatrix arcs; /*邻接矩阵*/ int vexnum, arcnum;/*图的当前顶点数和弧数*/ int kind; }MGraph; void CreateDG(MGraph *G); void CreateDN(MGraph *G); void CreateUDG(MGraph *G); void CreateUDN(MGraph *G); int LocateVex(MGraph *G, char v[]); void print(MGraph *G); int main(void) { MGraph *G; G = (MGraph *)malloc(sizeof(MGraph)); printf("请选者0-有向图,1-有向网,2-无向图,3-无向网: "); scanf("%d", &G->kind); switch(G->kind) { case DG : CreateDG(G); print(G); break; case DN : CreateDN(G); print(G); break; case UDG : CreateUDG(G); . .

数据库期末试卷和答案

数据库程序设计试题 1一、判断题(每题1分,共10分) 1、DB、DBMS、DBS三者之间的关系是DBS包括DB和DBMS。( ) 2、数据库的概念结构与支持其的DB的DBMS有关。( ) 3、下列式子R∩S=R—(R—S)成立。( ) 4、数据存储结构改变时逻辑结构不变,相应的程序也不变,这是数据库系统的逻辑独立 性。() 5、关系数据库基本结构是三维表。( ) 6、在嵌入式SQL语句中,主语句向SQL语句提供参数,主要用游标来实现。( ) 7、规范化的投影分解是唯一的。( ) 8、不包含在任何一个候选码中的属性叫做非主属性。( ) 9、在 Transact-SQL 语句的WHERE子句中,完全可以用IN子查询来代替OR逻辑表达式。 ( ) 10、封锁粒度越大,可以同时进行的并发操作越大,系统的并发程度越高。() 二、填空题(每空0.5分,共10分) 1、两个实体间的联系有联系,联系和联系。 2、select命令中,表达条件表达式用where子句,分组用子句,排序用 子句。 3、数据库运行过程中可能发生的故障有、和三 类。 4、在“学生-选课-课程”数据库中的三个关系如下: S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。 现要查找选修“数据库技术”这门课程的学生姓名和成绩,可使用如下的SQL语句:SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME= 数据库技术AND S.S#=SC.S# AND 。 5、管理、开发和使用数据库系统的用户主要有、、 。 6、关系模型中可以有三类完整性约束:、 和。 7、并发操作带来数据不一致性包括三类:丢失修改、和。 8、事务应该具有四个属性:原子性、、隔离性和持续性。 9、数据库运行过程中可能发生的故障有事务故障、和三类。 10、在“学生-选课-课程”数据库中的三个关系如下:S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。 现要查找选修“数据库技术”这门课程的学生姓名和成绩,可使用如下的SQL语句:SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME= ‘数据库技术’AND S.S#=SC.S# AND 。 11、数据库设计包括、、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。 12、MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server的图形 化工具称为_________。 13 、SELECT语句中进行查询 , 若希望查询的结果不出现重复元组 , 应在SELECT子 句中使用____________保留字。 14、如果一个关系不满足2NF,则该关系一定也不满足__________(在1NF、2NF、3NF 范围内)。 15、数据库的物理设计主要考虑三方面的问题:______、分配存储空间、实现存取路径。 三、单选题(每题1分,共20 分)

数据结构期末考试试题及答案资料

贵州大学理学院数学系信息与计算科学专业 《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 一、单项选择题 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性(B). 可行性(C). 健壮性(D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; Q.front->next=p->next; (C)、p=Q.rear->next; p->next= Q.rear->next; (D)、p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。

2014年数据结构补考试题

一填空题 1.已知一N*N三角矩阵按行序为主序存放,下标从1开始,每个元素占l字节,则a[i][j]地址为当i≥j时,地址为i(i+1)/2+j-1;当i=i;j--) s; 13.在单链表中设置头结点的作用是使所有链表的头指针非空,并使对单链表的插入、删除操作不需要区分是否为空表或是否在第一个位置进行,从而与其他位置的插入、删除操作一致(插入和删除首元结点时不用进行特殊处理)。 14.中缀式a+b*3+4*(c-d)对应的前缀式为 ++a×b3×4-cd,若a=1,b=2,c=3,d=4,则后缀式db/cc*a-b*+的运算结果为18 。 15.有向图G的强连通分量是指有向图的极大强连通子图。 18.设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句: py->next=px->next; px->next=py; 19. 数组的存储结构采用顺序存储方式。 二选择题 1.以下数据结构中,哪一个是线性结构(D) A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 2.对稀疏矩阵进行压缩存储目的是(C)。 A.便于进行矩阵运算 B.便于输入和输出 C.节省存储空间 D.降低运算的时间复杂度 3.非空的循环单链表head的尾结点p↑满足(A)。 A.p↑.link=head B.p↑.link=NIL C.p=NIL D.p= head

数据库期末试卷A(含答案)

江西农业大学2013—2014学年第一学期期末考试试卷(A ) 课程名称:数据库原理及应用 开课单位:软件学院 考试方式:闭卷 使用专业:软件工程 考试日期: 考试时间:120分钟 卷和答题纸交给监考老师。 一大题:选择题(共10小题,每小题2分,共20分) 1、在数据库中,下列说法( )是不正确的。 A. 数据库避免了一切数据的重复 B. 若系统是完全可以控制的,则系统可确保更新时的一致性 C. 数据库中的数据可以共享 D. 数据库减少了数据冗余 2、对数据库物理存储方式的描述称为( ) A .外模式 (子模式、用户模式) B .内模式 C .概念模式 D .逻辑模式(模式) 3、在数据库三级模式间引入二级映象的主要作用是( ) A .提高数据与程序的独立性 B .提高数据与程序的安全性 C .保持数据与程序的一致性 D .提高数据与程序的可移植性 4、概念模型最常用的描述方法是( )。 A. E-R 模型 B. 关系模型 C. 层次模型 D. 网状模型 5、图是一个“虚表”,视图的构造基于( ) A .基本表 B .视图 C .基本表或视图 D .数据字典 6、关系代数中的笛卡尔积运算对应SELECT 语句中的以下哪个子句? ( ) A .SELECT B .FROM C .WHERE D .GROUP BY 7、关系运算中花费时间可能最长的运算是( ) A. 投影 B. 选择 C. 笛卡尔积 D. 除 8、事务日志的用途是( ) A. 事务处理 B. 完整性约束 C. 数据恢复 D. 安全性控制 9、用于实现数据存取安全性的SQL 语句是( ) A. CREATE TABLE B. COMMIT C. GRANT 和REVOKE D. ROLLBACK 10、如果事务T 已在数据R 上加了X 锁,则其他事务在数据R 上( ) A.只可加X 锁 B. 只可加S 锁 C. 可加S 锁或X 锁 D. 不能加任何锁 二大题:填空题(共5小题,每空1分,共10分) 1、数据管理技术经历了_______、_______和_______三个阶段。 2、自然连接运算是由_______、_______和_______运算组成。 院系: 专业班级: 姓名: 学号: 装 订 线

大学数据结构期末考试试题(有答案)

数据结构复习题 一、单选题(每小题2分,共12分) 1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。 A. HL=ps p一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p=HL; D. p一>next=HL一>next;HL一>next=p; 2.n个顶点的强连通图中至少含有( )。 A.n—l条有向边 B.n条有向边 C.n(n—1)/2条有向边 D.n(n一1)条有向边 3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A.O(1) B.O(n) C.O(1Ogzn) D.O(n2) 4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。 A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。 A.整形 B.引用型 C.指针型 D.常值引用型· 6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。 A.O(n) B.O(1) C.O(n2) D.O(10g2n) 二、填空题(每空1分,共28分) 1.数据的存储结构被分为——、——、——和——四种。 2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。 3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。 4.在一棵高度为h的3叉树中,最多含有——结点。 5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。 7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。 8.表示图的三种存储结构为——、——和———。 9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为——,对用邻接表表示的图进行任一种遍历时,其时间复杂度为——。 10.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为——和——· 11.假定对长度n=144的线性表进行索引顺序查找,并假定每个子表的长度均为,则进行索引顺序查找的平均查找长度为——,时间复杂度为——· 12.一棵B—树中的所有叶子结点均处在——上。 13.每次从无序表中顺序取出一个元素,把这插入到有序表中的适当位置,此种排序方法叫做——排序; 每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做——排序。 14.快速排序在乎均情况下的时间复杂度为——,最坏情况下的时间复杂度为——。 三、运算题(每小题6分,共24分) 1.假定一棵二叉树广义表表示为a(b(c,d),c(((,8))),分别写出对它进行先序、中序、后序和后序遍历的结果。 先序: 中序; 后序: 2.已知一个带权图的顶点集V和边集G分别为: V={0,1,2,3,4,5};

全国2014年4月自考数据结构真题

绝密★考试结束前 全国2014年4月高等教育自学考试 数据结构试题 课程代码:02331 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸” 的相应代码涂黑。错涂、多涂或未涂均无分。 1.与数据存储结构无关 ..的概念是 A.栈 B.链表 C.顺序表 D.二叉链表 2.顺序表中有10个数据元素,若第一个元素的存储地址是1000,则最后一个元素地址是1036,第5个元素的地址是 A.1010 B.1016 C.1018 D.1019 3.设栈的初始状态为空,元素1、2、3、4、5、6依次入栈,得到的出栈序列是(2,4,3,6,5,1),则栈的容量至少是 A.2 B.3 C.4 D..6 4.下列关于队列的叙述中,错误 ..的是 A.队列是一种先进先出的线性表 B.队列是一种后进后出的线性表 C.循环队列中进行出队操作时要判断队列是否为空 1

D.在链队列中进行入队操作时要判断队列是否为满 5.对稀疏矩阵进行压缩存储的目的是 A.便于运算 B.节省存储空间 C.便于输入输出 D.降低时间复杂度 6.一棵二叉树的第7层上最多含有的结点数为 A.14 B.64 C.127 D.128 7.下列选项为完全二叉树的是 8.用邻接表表示n个顶点e条边的无向图,其边表结点的总数是 A. n×e B. e C. 2e D. n+e 9.无向图中所有顶点的度数之和与所有边数之比是 A.1/2 B.1 C.2 D.4 10.采用邻接矩阵存储图时,广度优先搜索遍历算法的时间复杂度为 A. O(n) B. O(n+e) C. O(n2) D. O(n3) 11.对序列(15,9,7,8,20,-1,4)进行排序,若一趟排序后的结果为(-1,15,9,7,8,20,4),则采用的排序方法是 A.归并排序 B.快速排序 C.直接选择排序 D.冒泡排序 12.比较次数与待排序列初始状态无关的排序方法是 A.快速排序 B.冒泡排序 C.直接插入排序 D.直接选择排序 13.查找较快,且插入和删除操作也比较方便的查找方法是 A.分块查找 B.二分查找 C.顺序查找 D.折半查找 14.下列关于m阶B树的叙述中,错误 ..的是 2

相关文档
相关文档 最新文档