下数据结构复习
数据结构笔试复习

数据结构笔试复习⼀选择题1.下述哪⼀条是顺序存储结构的优点?()A.存储密度⼤ B.插⼊运算⽅便 C.删除运算⽅便 D.可⽅便地⽤于各种逻辑结构的存储表⽰2.数据结构在计算机内存中的表⽰是指( )。
A. 数据的物理结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系3.下⾯关于线性表的叙述中,错误的是哪⼀个?()A.线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元。
B.线性表采⽤顺序存储,便于进⾏插⼊和删除操作。
C.线性表采⽤链接存储,不必占⽤⼀⽚连续的存储单元。
D.线性表采⽤链接存储,便于插⼊和删除操作。
4.若线性表最常⽤的操作是存取第i个元素及其前驱的值,则采⽤( )存储⽅式节省时间。
A. 单链表B. 双向链表C. 循环链表D. 顺序表5.线性表是具有n 个()的有限序列(n>0)。
A.表元素 B.字符 C.数据元素 D.数据项 E.信息项6.若某线性表最常⽤的操作是存取任⼀指定序号的元素和在最后进⾏插⼊和删除运算,则利⽤()存储⽅式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表7.某线性表中最常⽤的操作是在最后⼀个元素之后插⼊⼀个元素和删除第⼀个元素,则采⽤()存储⽅式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表8.设⼀个链表最常⽤的操作是在末尾插⼊结点和删除尾结点,则选⽤( )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表9.若某表最常⽤的操作是在最后⼀个结点之后插⼊⼀个结点或删除最后⼀个结点。
则采⽤()存储⽅式最节省运算时间。
A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表10. 链表不具有的特点是()A.插⼊、删除不需要移动元素 B.可随机访问任⼀元素C.不必事先估计存储空间 D.所需空间与线性长度成正⽐11、3个结点可构成_____棵不同形态的⼆叉树。
数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
数据结构复习材料

一、单选题(共20题,40分)1、向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为()。
(2.0)A、 8B、 63.5C、 63D、 7正确答案: B2、在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是()。
(2.0)A、 O(1)B、 O(n)C、O(n²)D、 O(log₂n)正确答案: B3、根据一组关键字(56, 42, 50, 64, 48)依次插入结点生成一棵AVL树,当插入到值为0的结点时需要进行旋转调整。
(2.0)A、 42B、 50C、 64D、 48正确答案: B4、若查找每个元素的概率相等,则在长度为n的顺序表上查找任一元素的平均查找长度为( )。
(2.0)A、 nB、 n+1C、 (n-1)/2D、 (n+1)/2正确答案: D5、在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。
(2.0)A、 n-iB、 n-i+lC、 n-i-1D、 i正确答案: A6、稀疏矩阵一般的压缩存储方法有两种,即()。
(2.0)A、二维数组和三维数组B、三元组和散列C、三元组和十字链表D、散列和十字链表正确答案: C7、以下关于线性表的说法不正确的是______。
(2.0)A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
正确答案: C8、在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
(2.0)A、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)B、在第i个结点后插入一个新结点(1≤i≤n)C、删除第i个结点(1≤i≤n)D、将n个结点从小到大排序正确答案: A9、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相同,则该二叉树一定满足()。
(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题15分,共60分)答题要求:①⽤⾃然语⾔说明所采⽤算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有⼀个带头结点的单链表,每个结点包括两个域,⼀个是整型域info,另⼀个是指向下⼀个结点的指针域next。
假设单链表已建⽴,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留⼀个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个⼈按顺时针⽅向围坐成⼀圈,现从第s个⼈开始按顺时针⽅向报数,数到第m个⼈出列,然后从出列的下⼀个⼈重新开始报数,数到第m的⼈⼜出列,…,如此重复直到所有的⼈全部出列为⽌。
现要求采⽤循环链表结构设计⼀个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建⽴⼀个带有头结点的循环链表,头指针为h,要求链中数据从⼩到⼤排列,重复的数据在链中只保存⼀个.5、设计⼀个尽可能的⾼效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表⽰⼊栈和出栈操作。
栈的初态和终态均为空,⼊栈和出栈的操作序列可表⽰为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为⾮法序列。
(15分)(1)下⾯所⽰的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出⼀个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存⼊⼀维数组中)。
5、设从键盘输⼊⼀整数的序列:a1, a2, a3,…,an,试编写算法实现:⽤栈结构存储输⼊的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(⼊栈满等)给出相应的信息。
设有⼀个背包可以放⼊的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构复习_2

7、抽象数据类型的概念 由用户定义,用以表示应用问题的数据模型,是将数据结构作为一个软件构建的实现, 由基本的数据类型组成, 并包括一组相关的服务(或称操作) 抽象数据类型的的特征是使用与实现相分离,信息隐蔽和数据封装, 8、类的特征 信息隐蔽和数据封装,使用与实现相分离。 9、自然数的抽象数据类型定义 ADT NaturalNumber is objects: 一个整数的有序子集合,它开始于 0, 结束于机器能表示的最大整数(MaxInt)。 Function: 对于所有的 x, y NaturalNumber; False, True Boolean, +、-、<、==、=等都是可用的服务。 Zero( ) : NaturalNumber 返回自然数 0
4、数据结构涉及的三个方面: 数据的运算,即对数据元素施加的操作。 数据的逻辑结构 数据的存储结构 是指数据应该如何在计算机中存放, 是数据逻辑结构的物理存储方式, 是属于具体实现 的视图,是面向计算机的。 四种基本的存储方法: 顺序存储表示:该方法把逻辑上相邻的元素存放到物理位置上相邻的存储单元中; 链接存储表示:该方法不要求逻辑上相邻的元素在物理位置上也相邻; 索引存储表示:该方法在存储元素信息的同时,还建立附加的索引表。索引表中每一项 称 为索引项,索引项的一般形式是:(关键码,地址); 散列存储表示:根据结点的关键码通过一个函数计算直接得到该结点的存储地址。 5、数据类型 数据类型是一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称. 6、线性表数据类型的两种表示方式 基于数组的顺序表示和基于链表的链接表示
第五章树 一、树的定义和术语 1.自由树 一棵自由树 Tf 可定义为一个二元组 Tf = (V, E) 其中 V = {v1, ..., vn} 是由 n (n>0) 个元素组成的有限非空集合,称为顶点集合。 E = {(vi, vj) | vi, vj V, 1≤i, j≤n} 是 n-1 个序对的集合,称为边集合,E 中的元素 (vi, vj)称 为边或分支。
数据结构复习要点(整理版)

第一章数据结构概述基本概念与术语1.数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序所处理的符号的总称。
2.数据元素:数据元素是数据的基本单位,是数据这个集合中的个体,也称之为元素,结点,顶点记录。
(补充:一个数据元素可由若干个数据项组成。
数据项是数据的不可分割的最小单位。
)3.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
(有时候也叫做属性。
)4.数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
(1)数据的逻辑结构:数据的逻辑结构是指数据元素之间存在的固有逻辑关系,常称为数据结构。
数据的逻辑结构是从数据元素之间存在的逻辑关系上描述数据与数据的存储无关,是独立于计算机的。
依据数据元素之间的关系,可以把数据的逻辑结构分成以下几种:1.集合:数据中的数据元素之间除了“同属于一个集合“的关系以外,没有其他关系。
2.线性结构:结构中的数据元素之间存在“一对一“的关系。
若结构为非空集合,则除了第一个元素之外,和最后一个元素之外,其他每个元素都只有一个直接前驱和一个直接后继。
3.树形结构:结构中的数据元素之间存在“一对多“的关系。
若数据为非空集,则除了第一个元素(根)之外,其它每个数据元素都只有一个直接前驱,以及多个或零个直接后继。
4.图状结构:结构中的数据元素存在“多对多”的关系。
若结构为非空集,折每个数据可有多个(或零个)直接后继。
(2)数据的存储结构:数据元素及其关系在计算机内的表示称为数据的存储结构。
想要计算机处理数据,就必须把数据的逻辑结构映射为数据的存储结构。
逻辑结构可以映射为以下两种存储结构:1.顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据之间的逻辑关系。
2.链式存储结构:借助指针表达数据元素之间的逻辑关系。
不要求逻辑上相邻的数据元素物理位置上也相邻。
数据结构复习题及标准答案

数据结构复习题及标准答案————————————————————————————————作者:————————————————————————————————日期:一、选择题。
(每小题2分,共40分)(1) 计算机识别.存储和加工处理的对象被统称为____A____。
A.数据B.数据元素C.数据结构D.数据类型(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。
A.存储和逻辑结构B.存储和抽象C.理想和抽象D.理想与逻辑(3) 不是数据的逻辑结构是____ A ______。
A.散列结构B.线性结构C.树结构D.图结构(4) 数据结构被形式地定义为<D,R>,其中D是____ B _____的有限集,R是____ C _____的有限集。
A.算法B.数据元素C.数据操作D.逻辑结构(5) 组成数据的基本单位是____ A ______。
A.数据项B.数据类型C.数据元素D.数据变量(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。
A.线性结构B.树型结构C.图型结构D.集合(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。
A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构(9) 对一个算法的评价,不包括如下____ B _____方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度(10) 算法分析的两个方面是__ A ____。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性(11) 线性表是具有n个___ C _____的有限序列(n≠0)。
数据结构复习题集(下)

11.6 Show the BFS tree for the graph of Figure 11.26,starting at Vertex 1. 对于图11.26所示的图,给出其从顶点1开始的BFS树广度优先搜索树。 答案:
11.3(a)画出图11.26所示图的相邻矩阵 adjacency matrix 表示; (b)画出这个图的邻接表adjacency list表示; (c)如果每个指针需要4个字节,每个顶点的 标号占用两个字节,每条边的权需要两个字节,则 该图采用哪种表示方法需要的空间更多? (d)如果每个指针需要4个字节,每个顶点的标 号需要一个字节,每条边的权需要两个字节,那么 采用哪种表示方法需要的空间更多? (b) (a)
3.把找到的记录与它在线性表中的前一条记录交换位置,称为转置(transpose)
查找元素 D H H G H E G H G H E C E H G Result A A A A A A A A A A A A A A A A A B B B B B B B B B B B B B B B B D D D D D D D D D D D D D D D D B C C C C C C C C C C C E C E E E E D E F E E E E H E E E E E C E C H H H G H F F H H E H G H G H H H H C G G G H F G G G H G H G G G G G C C H G G F F F F F F F F F F F F F 查找次数 4 8 7 8 6 6 7 7 7 7 5 5 5 6 7 95
10.15假定有一个B+树,它的内部节点,可以存储多达100个子女,叶 节点可以存储多达15条记录,对于1,2,3,4,和5层B+树,能够存储的最 大记录数和最小记录数是多少?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014下《数据结构》复习提纲
第1章绪论
有关术语;算法、算法复杂度的分析和计算方法
例题:
1.下面算法的时间复杂度为O( n )。
int f( unsigned int n ){
if ( n = = 0 || n = = 1 ) return 1;
else returen n *f ( n – 1 ); }
2.for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}时间复杂度为O(n2)
第2-3章线性表,栈和队列
线性表的概念、存储结构、插入与删除操作;栈和队列的概念,理解栈顶指针、队首、队尾指针的意义和作用,特别是循环队列的头、尾指针的设置。
为什么要这样设置。
它们基本操作的实现。
判空和判满?了解有关应用。
例题:
1.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p 之间插入一个s所指的结点,则执行的语句?(答:q->next=s; s->next=p);注意在某个已知结点前插需要执行的语句?
2.注意循环(链)队列的判空和判满的条件?(看书理解!)
3.对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为 O(1),在给定值为x的结点后插入一个新结点的时间复杂度为 O(n)。
4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为 (rear+l)%n= = front。
执行出队操作后其头指针front如何
5. 线性表采用链式存储时,结点的存储地址连续与否均可;
6. 链式栈删除栈顶元素的操作序列为top=top->next.
7.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是p->next=p->next->next.
8.判定“带头结点的链队列为空”的条件是Q.front==Q.rear.
9. 假设以数组seqn[m]存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。
则队满的条件表达式为quelen == m;队空的条件表达式quelen == 0;队头元素位置的表达式( rear - quelen + m ) % m
第6章树和二叉树
树和二叉树的定义、完全二叉树及其性质、存储表示及遍历算法(递归和非递归)、哈夫曼树的概念。
例题:
1.在一棵二叉树中,度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。
(完全二叉树性质)例:二叉树上叶结点数等于(双分支结点数加1 );对于一棵具有n个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为2n个,其中n-1个用于链接孩子结点,n+1个空闲着。
2. n 个权构成一棵Huffman树,其节点总数为2n-1.
3. 设用权6,10,13,14,20,37构造Huffman树,则该Huffman树的根结点的权值为100. (仔细验算构造Huffman树)
4. 一棵深度为k的满二叉树的结点总数为2k-1,一棵深度为k的完全二叉树的结点总数的最小值为2k-1,最大值为2k-1。
5. 深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树.
6.设一棵完全二叉树的顺序存储结构中存储数据元素为ABCDEF,则该二叉树的前序遍历序列为ABDECF ,中序遍历序列为DBEAFC ,后序遍历序列为DEBFCA.
7. 一棵完全二叉树中共有768结点,则该树中共有384个叶子结点。
8. 深度为k的完全二叉树中最少有2k-1个结点。
9. 二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是任一结点无右孩子
第7章图
图的存储及遍历算法,图的有关概念,最短路径,(最小)生成树例题:
1.由一个具有n个顶点的连通图生成的最小生成树中,具有n-1条边。
2.有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的出度,第i列中所有非零元素个数之和等于顶点i的入度。
3. 若要把n个顶点连接为一个连通图,则至少需要n-1 条边。
4.连通图G中有n个顶点e条边,则对应的最小生成树上有n-1条边5.在一个图中,所有顶点的度数之和等于所有边数的 2 倍。
6.在一个具有n个顶点的无向完全图中,包含有n(n-1)/2条边,在一个具有n个顶点的有向完全图中,包含有n(n-1)条边。
7.无向图G中有n个顶点e条边,则用邻接矩阵作为图的存储结构进行深度优先或广度优先遍历时的时间复杂度为O(n2); 用邻接表作为图的存储上述复杂度O(n+e).
8.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为n2-2e.
9.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为d=e.
10. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=d/2
11.掌握最小生成树算法.例如使用普里姆(Prim)算法以A为源点,构造下图的最小代价生成树,画出各步的结果。
12.已知有向图G如下所示,根据迪杰斯特拉算法求顶点v0到其他顶点的最短距
1. 对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用折半查找,则查找元素26的比较次数为4。
2. 有序表中进行二分查找,则比较一次查找成功的结点数有1个,比较两次查找成功有结点数有2个,比较三次……
3.理解并掌握二叉排序树的概念,会构造二叉排序树及查找、插入和删除操作。
4.中序遍历二叉排序树可以得到一个从小到大的有序序列。
5. 设哈希表HT表长m为13,哈希函数为H(k)=k MOD m,给定的关键值序列为{19,14,23,10,68,20,84,27,55,11}。
试求出用线性探测法解决冲突时所构造的哈希表,并求出在等概率的情况下查找成功的平均查找长度ASL。
(1)表形态:
(2)平均查找长度:ASL(10)=(1*5+2*4+3*1)/10=1.6
6.设一组初始记录关键字序列为(20,12,42,31,18,14,28),则根据这些记录关键字构造的二叉排序树的平均查找长度是19/
7.
第10章内部排序
掌握基本排序方法的实现思想。
例题:
1. 假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为3。
2.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是42,40,55,60,80,85
考试题型:
一.单项选择题(15×2分=30分)
二.填空题(10×2分=20分)
1.实现数据x进栈程序填空;
2. 二叉树中各类结点个数及关系;
3. 关于无向图的度;
4. 无向图邻接矩阵中找邻接点;
5.二叉树遍历;
6.顺序循环队列元素个数;
7. 二叉排序树平均查找长度;
8. 哈夫曼树构造和哈夫曼树的高度;
9.最小生成树构造及其上权值之和; 10. 二叉排序树中插入一个新结点算法填空。
三.解答题(5×6分=30分)
1.循环队列在特定设置下判满判空,计算元素位置;2. 给出邻接矩阵,画出该图,画出深度优先生成树;3. 填写出散列表和平均查找长度; 4. 求某顶点到其余各顶点的最短路径; 5.构造一棵二叉排序树, 画出删去结点之后的二叉排序树.
四.算法阅读题(2×6分=12分)
1.在带头结点的单链表中,删除数据元素的算法;
2.中序遍历二叉树过程中实现对一些节点的其他操作.
五、算法设计题(8分)
1. 将一个简单的递归程序改写成非递归,实现相同功能.
以上各例题中的答案并不保证完全正确,希望自己亲自验证。
找到并对照书本上的相应内容仔细阅读3遍以上。
切实理解和掌握每个知识点的实质,决不可以似是而非,侥幸过关。
祝同学们考出好成绩!。