大工20春《数据结构》在线作业3

大工20春《数据结构》在线作业3

大连理工大学山上礼堂常用数据一览

大连理工大学山上礼堂常用数据一览舞台 舞台上方横幅尺寸:14M*1M, 在12M范围内刻字(相应的舞台宽是14.2M) 舞台两侧台口竖条长:7.2M。 舞台背景喷绘尺寸:13M*6.5M (12M*6M) 后台左右两扇门的尺寸:130*225 cm 后台两侧的横梁:2.9M 舞台上左右两个音箱的尺寸:115*60 cm 从观众席向背景喷绘方向,左右两边依次是 红幕 绿幕1 绿幕2 绿幕3 粉幕 背景喷绘 其中:绿幕1紧贴红幕;绿幕3紧贴粉幕 红幕——圆弧形舞台边缘的最远点:3M 绿幕1——绿幕2距离: 175cm 绿幕2——粉幕距离:240cm 绿幕3——背景喷绘距离:680cm 观众席 观众席2楼(舞台对面)横幅15M 观众席两边竖条幅(即XX学院祝大会圆满成功的位置)尺寸:0.9*7.5M 一楼观众席,俯视的话可以分成六个区域 舞台

123 456 调音台 区域一:14排12列161个座位 区域二:14排17列251个座位(678排嘉宾席49个座)区域三:14排12列161个座位 区域四:10排12列120个座位 区域五:10排17列165个座位 区域六:10排12列120个座位 二楼观众席,俯视的话可以分成四个区域 舞台 12 34 调音台 区域一:6排22列115个座位 区域二:6排22列114个座位 区域三、四:8排22列400个座位 注:区域边缘呈锯齿状 前厅 前厅两侧宣传栏尺寸1.14M*3.94M 前厅柱子间距4.93M 前厅瓷砖壁画尺寸6.2M * 2.4M 礼堂正门 注:礼堂正面有四个竖直的突出部分,称为“柱子” 楼前中间柱子之间的间距5.8M 楼前两边柱子之间的间距12.4M

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

数据结构实验报告全集 实验一线性表基本操作和简单程序 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 始终指向生成的单链表的最后一个节点

大连理工大学软件学院2014数据结构期末考试)

一、选择(2’×15=30’) 1.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时 间复杂度为( ) A.O(0) B.O(1) C.O(n) D.O(n2) 2.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾 结点,则在进行删除操作时( ) A.仅修改队头指针 B.仅修改队尾指针 C.队头、队尾指针都不修改 D.队头、队尾指针都可能要修改 3.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S,若每个元素出栈 后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是( ) A.1 B.2 C.3 D.4 4.对n(n≥2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是( ) A.该树一定是一棵完全二叉树 B.树中一定没有度为1的结点 C.树中两个权值最小的结点一定是兄弟结点 D.树中任一非叶结点的权值一定不小于下一层任一结点的权值 5.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( ) A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG 6.下列线索二叉树中(用虚线表示线索),符合后序线索二叉树定义的是( D) 7.下面关于二分查找的叙述正确的是( ) A.表必须有序,表可以顺序方式存储,也可以链表方式存储 B.表必须有序,且表中数据必须是整型,实型或字符型 C.表必须有序,而且只能从小到大排列 D.表必须有序,且表只能以顺序方式存储 8.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受 数据初始特性影响的是( ) A.直接插入排序 B.快速排序 C.直接选择排序 D.堆排序 9.下列关于无向连通图特性的叙述中,正确的是( ) I.所有顶点的度之和为偶数 II.边数大于顶点个数减1

大连理工大学矩阵与数值分析2017年考题

大连理工大学2017年研究生矩阵与数值分析考试 考试日期:2017年6月5日 一、填空题(50分,每空2分) 1.a=0.3000经过四舍五入具有4位有效数字,则 x a a -≤,ln ln x a -≤ 2.已知X=(1,5,12)T ,Y=(1,0,a)T ,则由X 映射到Y 的Householder 矩阵为:,计算||H||2=,cond 2(H)= 3.根据3次样条函数的性质(后面-前面=a (x-x0)3),一个求其中的参数b== 4.2 '3u u t =,写出隐式Euler 格式: 梯形法格式: 5.已知A=XX T ,其中X 为n 维列向量,则||A||2=,||A||F =,矩阵序列的极限:2lim k k A A →∞?? ? ? ?? = 6.A=LU ,其解为x ,写出一步迭代后的改善格式: 7. 531A -?? ? = ? ?-?? ,请问通过幂法与反幂法计算出的特征值分别是, 8.1111A ?? ?= ? ??? ,sin A =,823A A A +-=,At e =,d d At e t =,2 1At e dt ?= 9. ()()()()2 1 2 012f x dx A f A f A f =++?是Newton-cotes 公式,则1 A =,具有代数精度= 10. f(x)=7x 7+6x 6+…+x ,f[20,21,22….,28]= 11. 0.40.200.5A ??= ???,1 k k A ∞=∑= 12.f(0)=1,f(1)=-1,f(2)=1,f(3)=19,请问对该节点进行插值后最高次的系数= 还有2空没有回忆出来,但是比上面题目还简单,因此不用担心。 二、121232352A -?? ?=-- ? ?--??,121b ?? ? = ? ?-?? (1)计算LU 分解 (2)利用LU 求逆矩阵 (3)写出G-S 格式(12分)

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

大工18秋《数据结构》在线作业2(满分题)

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )。 A: 9 B: 11 C: 15 D: 不确定 正确答案: (单选题) 2: 具有10个叶结点的二叉树中有( )个度为2的结点。 A: 8 B: 9 C: 10 D: 11 正确答案: (单选题) 3: 设无向图的顶点个数为n,则该图最多有( )条边。 A: n-1 B: n(n-1)/2 C: n(n+1)/2 D: 0 正确答案: (单选题) 4: 一个n个顶点的连通无向图,其边的个数至少为( )。 A: n-1 B: n C: n+1 D: nlogn 正确答案: (单选题) 5: n个结点的完全有向图含有边的数目( )。 A: n*n B: n(n+1) C: n/2 D: n*(n-l) 正确答案: (单选题) 6: 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )。 A: 求子串 B: 联接 C: 模式匹配 D: 求串长 正确答案: (单选题) 7: 串的长度是指( )。 A: 串中所含不同字母的个数 B: 串中所含字符的个数 C: 串中所含不同字符的个数 D: 串中所含非空格字符的个数

------------------------------------------------------------------------------------------------------------------------------ 正确答案: (单选题) 8: 树的后根遍历序列等同于该树对应的二叉树的( )。 A: 先序序列 B: 中序序列 C: 后序序列 D: 以上都不对 正确答案: (单选题) 9: 在下列存储形式中,哪一个不是树的存储形式?( ) A: 双亲表示法 B: 孩子链表表示法 C: 孩子兄弟表示法 D: 顺序存储表示法 正确答案: (单选题) 10: 已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。 A: CBEFDA B: FEDCBA C: CBEDFA D: 不定 正确答案: (判断题) 1: 完全二叉树一定存在度为1的结点。 T: 对 F: 错 正确答案: (判断题) 2: 二叉树的遍历结果不是唯一的. T: 对 F: 错 正确答案: (判断题) 3: 一个树的叶结点,在前序遍历和后序遍历下,皆以相同的相对位置出现。 T: 对 F: 错 正确答案: (判断题) 4: 完全二叉树中,若一个结点没有左孩子,则它必是树叶。 T: 对 F: 错 正确答案: (判断题) 5: 在n个结点的无向图中,若边数大于n-1,则该图必是连通图。 T: 对 F: 错 正确答案: (判断题) 6: 强连通图的各顶点间均可达。 T: 对 F: 错

大工数据结构课程考试模拟试卷a

少年易学老难成,一寸光阴不可轻- 百度文库 《数据结构》 一、单项选择题(本大题共10小题,每小题3分,共30分) 1、若进栈的序列为1,2,3,4,则不可能得到的出栈序列是()。 A. 3,2,1,4 B. 3,2,4,1 C. 4,2,3,1 D. 2,3,4,1 2、深度为k的完全二叉树所含叶结点的个数最多为(),设根结点在第1层上。 A. 2k B. 2k-1 C. k D. 2k-1 3、衡量查找算法效率的主要标准是()。 A. 元素个数 B. 所需的存储量 C. 平均查找长度 D. 算法难易程度 4、与线性表的顺序存储不相符的特性是()。 A. 插入和删除操作灵活 B. 需要连续的存储空间 C. 便于随机访问 D. 存储密度大 5、若进队序列为1,2,3,则出队序列是()。 A. 3,2,1 B. 1,2,3 C. 1,3,2 D. 3,1,2 6、不带头结点的单链表L为空的判定条件是()。 A. L==NULL B. L->next==NULL C. L->next==L D. L!=NULL 7、union(A,B,C)表示求集合A和B的并集C。若A={a,b,c},B={c,d},则union(A,B,C)运算后C=()。 A.{a,b,c,d} B.{a,b,c} C.{a,b} D.{c,d} 8、数组A中,每个元素的长度为3个存储单元,行下标i从1到5,列下标j从1到6,从首地址SA开始连续存放在存储器内,存放该数组至少需要的存储单元数是()。 A. 90 B. 70 C. 50 D. 30 9、遍历一棵具有n个结点的二叉树,在先序序列、中序序列和后序序列中所有叶子结点的相对次序()。 A. 都不相同 B. 完全相同 C. 先序和中序相同 D. 中序和后序相同 10、用给定的哈夫曼编码来压缩数据文件,其压缩效率主要取决于()。 A. 文件长度 B. 平均码长 C. 被压缩文件的特征 D. 以上都不是 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、当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。 A. top++ B. top-- C. top=0 D. top=N-1 7、在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改()个指针域的值。 A. 2 B. 3 C. 4 D. 5 8、利用3,6,8,12,5,7这六个值作为叶子结点的权,生成一棵哈夫曼树,该树的深度为()。 A. 3 B. 4

大连理工大学软件学院 数据库 Intermediate SQL-2 上机答案

大连理工大学软件学院数据库 Intermediate SQL-2 上机答案 你的下载是我上传的动力,请不要吝啬一个财富值 Intermediate SQL-2 Using the university schema that you have write the following queries. In some cases you might need to insert extra data to show the effect of a particular feature. Recommendation: With clause is strongly recommended for simplifying the query. 1. Find the courses which have been offered for 2 years at least and have sections in spring, 2010. For each course as such, information displayed should involve: * Identifier of course(i.e. the primary key for section) * Title of the course * Number of instructors who in charge of teaching the course in spring ,2010 * Total salary all over the instructors who in charge of teaching the course in spring ,2010 * Total credit hours performed per week( Note: 1 credit hour equals to 50 minutes). 2. USE outer join to construct the following query Find all information for student registration and course offered.

数据结构实验报告

《用哈夫曼编码实现文件压缩》 实验报告 课程名称数据结构 实验学期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树采用的是基于数组的带左右儿子结点及父结点下标作为

数据结构实验报告

数据结构实验报告 第 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); . .

大 连 理 工 大 学数据库本科期末试

大 连 理 工 大 学 欢迎大牛做出答案,传到群中。By —赵全营 课程名称: 数据库原理 试卷: A 考试形式:闭卷 授课院(系): 软件学院 考试日期:2008年10月31日试卷 共 页 答案写在答题纸上。 一、概念与简答题(共15分 每小题3分) 1. 简述数据库系统三级模式及二级映射的对应关系 2. 阐明连接操作的重要作用及自然连接与等值连接的区别 3. 阐述关系模型的三个完整性约束 4. 对比分析部分函数依赖、完全函数依赖和传递函数依赖的异同 5. 数据库的故障类型有那几种? 在哪种情况下不需要实施数据库恢复? 二、程序计算题(共计20分) 1. 现有关系数据库如下:(总计8分) 系别(系别编号,系名称,系主任姓名) 学生(学号,姓名,性别,系编号,班级,年龄) 课程(课程号,名称,学分) 选修(学号,课程号,分数) 奖学金(奖学金编号,奖学金名称,提供单位,奖学金金额) 获奖(学号,奖学金编号,获奖年度) 其中: 学生关系中专业属性使用文字方式记录学生所属专业, 奖学金关系中获奖年度使用整型数值类型存储时间信息 用SQL 表达式实现:(每题2分) 1)显示“0610”班的学生人数 2)查询得过奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和系别名称; 3)显示所有课程中的最高分的学生学号、姓名和课程号、课程名 4)显示选修“数据库原理”课程的成绩高于“06072”号同学成绩的所有同学的记录 2. 基于数据库中的学生表、成绩表、任课表: 学生(学号,姓名,性别,出生日期,系名) 成绩(学号,课程名,成绩) 姓名:_________ 学号:_________ 院系:____ __ __ ___级_ __班

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

大连理工大学2018年《数据结构》考研大纲

大连理工大学2018年《数据结构》考研大纲[考查目标] 1.掌握数据结构的基本概念、基本原理和基本方法。 2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。 3.能够运用数据结构的基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。 一、线性表 (一)线性表的定义 (二)线性表的顺序存储结构及其操作的实现 (三)线性表的链序存储结构及其操作的实现 (四)线性表的应用 二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构和链式存储结构 (三)栈和队列基本操作的实现 (四)栈和队列的应用 (五)数组的定义和顺序存储方式 (六)矩阵的压缩存储 三、树与二叉树 (一)树的基本概念 (二)二叉树 1.二叉树的定义及性质 2.二叉树的顺序存储结构和链式存储结构 3.二叉树的遍历 4.线索二叉树 (三)树、森林 1.树的存储结构 2.树和二叉树的转换,森林与二叉树的转换 3.树和森林的遍历 (四)哈夫曼(Huffman)树和哈夫曼编码 四、图 (一)图的基本概念 (二)图的存储方式

1.数组(邻接矩阵)表示法 2.邻接表 (三)图的遍历 1.深度优先搜索 2.广度优先搜索 (四)图的基本应用 1.最小生成树 2.最短路径 3.拓扑排序 4.关键路径 五、查找 (一)查找的基本概念 (二)静态查找表 1.顺序查找法 2.折半查找法 (三)动态查找表 1.二叉排序树和平衡二叉树 2.B-树及其基本操作、B+树的基本概念(四)哈希(Hash)表 (五)查找算法的分析及应用 六、排序 (一)排序的基本概念 (二)插入排序 1.直接插入排序 2.折半插入排序 (三)起泡排序(bubble sort)(四)简单选择排序 (五)希尔排序(shell sort)(六)快速排序 (七)堆排序 (八)二路归并排序(merge sort)(九)基数排序 (十)外部排序 (十一)各种排序算法的比较 (十二)排序算法的应用

全国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

数据结构实验报告--图实验

图实验 一,邻接矩阵的实现 1.实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现 2.实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历 3.设计与编码 MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ } void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e)

{ int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: "; cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } } template void MGraph::DFSTraverse(int v) { cout << vertex[v]; visited[v] = 1; for(int j = 0; j < vertexNum; j++) if(arc[v][j] == 1 && visited[j] == 0) DFSTraverse(j); } template void MGraph::BFSTraverse(int v) { int Q[MaxSize]; int front = -1, rear = -1; cout << vertex[v]; visited[v] = 1; Q[++rear] = v; while(front != rear) { v = Q[++front]; for(int j = 0;j < vertexNum; j++) if(arc[v][j] == 1 && visited[j] == 0){ cout << vertex[j]; visited[j] = 1;

2014《数据结构》试卷( C 卷)

《数据结构》试卷(C卷) 一、单项选择题 1. 空串与空格字符组成的串的区别在于(B )。 A.没有区别 B.两串的长度不相等 C.两串的长度相等 D.两串包含的字符不相同 2. 一个子串在包含它的主串中的位置是指( D )。 A.子串的最后那个字符在主串中的位置 B.子串的最后那个字符在主串中首次出现的位置 C.子串的第一个字符在主串中的位置 D.子串的第一个字符在主串中首次出现的位置 3. 下面的说法中,只有( C )是正确的。 A.字符串的长度是指串中包含的字母的个数 B.字符串的长度是指串中包含的不同字符的个数 C.若T包含在S中,则T一定是S的一个子串 D.一个字符串不能说是其自身的一个子串 4. 两个字符串相等的条件是( D )。 A.两串的长度相等 B.两串包含的字符相同 C.两串的长度相等,并且两串包含的字符相同 D.两串的长度相等,并且对应位置上的字符相同 5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=( B )。 A. “ijing” B. “jing&” C. “ingNa” D. “ing&N” 6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=( C )。 A.2 B.3 C.4 D.5 7. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于

S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=( D )。 A. “Nanjing&Shanghai” B. “Nanjing&Nanjing” C. “ShanghaiNanjing” D. “Shanghai&Nanjing” 8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是( C )。 A.i>0 B. i≤n C.1≤i≤n D.1≤i≤n+1 9. 字符串采用结点大小为1的链表作为其存储结构,是指(D )。 A.链表的长度为1 B.链表中只存放1个字符 C.链表的每个链结点的数据域中不仅只存放了一个字符 D.链表的每个链结点的数据域中只存放了一个字符 10. 在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为(C )个。 A. 4 B. 5 C. 6 D. 7 11. 假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( B )个。 A. 15 B. 16 C. 17 D. 47 12. 假定一棵三叉树的结点数为50,则它的最小高度为( C )。 A. 3 B. 4 C. 5 D. 6 13. 在一棵二叉树上第4层的结点数最多为( D )。 A. 2 B. 4 C. 6 D. 8 14. 用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中R[1..n],结点R[i]若有左孩子,其左孩子的编号为结点(B )。 A. R[2i+1] B. R[2i] C. R[i/2] D. R[2i-1] 15. 由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( D )。 A. 24 B. 48 C. 72 D. 53 16. 线索二叉树是一种( C )结构。 A. 逻辑 B. 逻辑和存储 C. 物理 D. 线性 17. 线索二叉树中,结点p没有左子树的充要条件是( B )。

武汉理工大学数据结构2014复习题

复习题集 一判断题 ()1. 在决定选取何种存储结构时,一般不考虑各结点的值如何。 ()2. 抽象数据类型与计算机内部表示和实现无关。 ()3. 线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。 ()4. 链表的每个结点中都恰好包含一个指针。 ()5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。()6. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 ()7. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 ()8. 线性表在物理存储空间中也一定是连续的。 ()9. 顺序存储方式只能用于存储线性结构。 ()10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 ()11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。 ()12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 ()13.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。 ()14.二叉树的度为2。 ()15.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。 ()16.二叉树中每个结点的两棵子树的高度差等于1。 ()17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。 ()18.具有12个结点的完全二叉树有5个度为2的结点。 ()19.二叉树的前序遍历序列中,任意一个结点均处在其孩子结点的前面。 ()20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。 ()21.计算机处理的对象可以分为数据和非数据两大类。 ()22.数据的逻辑结构与各数据元素在计算机中如何存储有关。 ()23.算法必须用程序语言来书写。 ()24.判断某个算法是否容易阅读是算法分析的任务之一。 ()25.顺序表是一种有序的线性表。 ()26.分配给顺序表的内存单元地址必须是连续的。 ()27.栈和队列具有相同的逻辑特性。 ()28.树形结构中每个结点至多有一个前驱。 ()29.在树形结构中,处于同一层上的各结点之间都存在兄弟关系。 ()30.如果表示图的邻接矩阵是对称矩阵,则该图一定是无向图。 ()31.如果表示图的邻接矩阵是对称矩阵,则该图一定是有向图。 ()32.顺序查找方法只能在顺序存储结构上进行。

相关文档
最新文档