开放大学数据结构2020年考试必备填空题
2020年国家开放大学电大数据结构题库
数据结构课程平时作业1一. 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。
①A. 操作对象 B. 计算方法 C. 逻辑存储 D. 数据映象②A. 结构 B. 关系 C. 运算 D. 算法2.数据结构被形式地定义为(K, R), 其中K是①的有限集合, R是K上的②的有限集合。
①A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构3.②A. 操作 B. 映象 C. 存储 D. 关系A.在数据结构中, 从逻辑上可以把数据结构分成( )。
动态结构和静态结构 B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构4.线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系5.数据结构中, 与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储二.填空题(将正确的答案填在相应的空中)1. 在线性结构中, 第一个结点①前驱结点, 其余每个结点有且只有②个前驱结点;最后一个结点③后续结点, 其余每个结点有且只有④个后续结点。
2. 在树形结构中, 树根结点没有①结点, 其余每个结点有且只有②个前驱结点;叶子结点没有③结点, 其余每个结点的后续结点可以④。
3. 在图形结构中, 每个结点的前驱结点数和后续结点数可以①。
4.线性结构中元素之间存在①关系, 树形结构中元素之间存在②关系, 图形结构中元素之间存在③关系。
5.数据结构包括数据的、数据的和数据的这三个方面的内容。
6. 下面程序段的时间复杂度是①。
for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;7. 下面程序段的时间复杂度是①。
S=0;for(i=0;i<n;i++)for(j=0; j<n; j++)s+=b[i][j];sum=s;三、简答题1.数据结构是一门研究什么内容的学科?2.数据元素之间的关系在计算机中有几种表示方法?各有什么特点?3.设有数据逻辑结构S=(D,R), 试按题所给条件画出这些逻辑结构的图示, 并确定相对于关系R, 哪些结点是开始结点, 哪些结点是终端结点?D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4) }部分参考答案一、单选题二、A B 2. B D 3. C 4. D 5. C三、填空题1.无, 1, 无, 12.前驱, 1个, 后继, 多个3.多个4.一对一, 一对多, 多对多5.逻辑结构、物理结构、数据运算6. O(n*m)7. O(n*n)三、简答题1.略见课件2.略3. d1( d2(d3(d4 线性结构数据结构课程平时作业2一. 单项选择题1.线性表L=(a1, a2,…,a n),下列说法正确的是()。
数据结构填空题
1. 数据结构的存储结构包括顺序、、索引和散列等四种。
2. 设关键字序列{7,12,26,30,47,58,66,70,82,90},当用折半查找方法查找时,所需比较的次数为3次的关键字分别是。
3. 假定一个线性表为 {12, 23, 74, 55, 63, 40, 82, 36},若按key%3条件进行划分,使得同一余数的元素成为一个子表,则包含74的子表长度为。
4. 和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对结构也无特殊要求。
5. 设双向循环链表每一个结点结构为(data,llink,rlink),则结点*p的前驱结点的地址为。
6. n个顶点的连通无向图的生成树含有条边。
【答案】n-17. 在一个最大堆中,堆顶结点的值是所有结点中的。
8. 假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底下一层的结点数为个。
9. 对于带头结点的链栈top,取栈顶元素的操作是。
【答案】*y=top->next->data 10. 假定一棵三叉树(即度为3的树)的结点个数为50,则它的最小高度为。
假定树根结点的深度为0。
11. 二维数组是一种非线性结构,其中的每一个数组元素最多有个直接前驱(或者直接后继)。
12. 在堆排序中,对任意一个分支结点进行调整运算的时间复杂度为。
13. 队列的删除操作在进行。
14. 设图G = (V, E),V = {1, 2, 3, 4}, E = {<1, 2>, <1, 3>, <2, 4>, <3, 4>},从顶点1出发,对图G进行广度优先搜索的序列有种。
15. 向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的上。
16. 快速排序在平均情况下的时间复杂度为。
17. 由关键字序列{42,97,75,23,68,34}建成的最大堆是。
18. 对于关键字序列(12 , 13 , 11 , 18 , 60 , 15 , 7 , 18 , 25 , 100),用筛选法建堆,必须从关键字为的结点开始。
《数据结构》试题及参考答案-国家开放大学(中央电大)2020年期末考试复习题及答案
(1)
;
(2)
;
(3)
;
2
} }
试题答案; 一、单项选择题(每小题 3 分,共 30 分) 1-5.A D D A B 6-10.B A C C B
三、填空题(每空 2 分,共 24 分) 1. 正确性、易读性、强壮性、高效率 2.集合、线性、树形、图状 3. f=f->next; 4.中序 5.顺序存储结构、链式存储结构
}
} 程序中 flag 的功能是(5)
7.以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、
右指针域分别为 left 和 right,数据域为 data,其数据类型为字符型,BT 指向根结点)。
Void Postorder (struct BTree Node *BT)
{ if(BT!=NULL){
3
A. 2*n-1
B. 2*n +1
C. 2*n
D. 2*(n-1)
二、填空题(每空 2 分,共 24 分) 1. 通常从四个方面评价算法的质量:_________、_________、_______和________。 2.根据数据元素间关系的不同特性,通常可分为 ________、________、________、________四类基本结构。 3.在一个链队中,设 f 和 r 分别为队头和队尾指针,则删除一个结点的操作为 ________。 (结点的指针域为 next) 4.________遍历二叉排序树可得到一个有序序列。 5.数据的物理结构主要包括_____________和______________两种情况。
A. 21
B. 20
C. 19
D. 25
6.元素 2,4,6 按顺序依次进栈,则该栈的不可能的输出序列是( )。
国家开放大学2020年7月《1252本科数据结构(本)》期末考试复习题及答案
数据结构(本)期末综合练习国家开放大学2020年7月《1252本科数据结构(本)》期末考试复习题及答案一、单项选择题1.数据的物理结构( D)。
A.与数据的逻辑结构无关 B.仅仅包括数据元素的表示C.只包括数据元素间关系的表示 D.包括数据元素的表示和关系的表示2.数据元素是数据的基本单位,它(C )。
A.只能有一个数据项组成B.至少有二个数据项组成C.可以是一个数据项也可以由若干个数据项组成D.至少有一个数据项为指针类型3.从n个数中选取最大元素,( C )。
A.基本操作是数据元素间的交换B.算法的时间复杂度是O(n2)C.算法的时间复杂度是O(n) D.需要进行(n+1)次数据元素间的比较4.线性表的顺序结构中,( C )。
A.逻辑上相邻的元素在物理位置上不一定相邻B.数据元素是不能随机访问的C.逻辑上相邻的元素在物理位置上也相邻D.进行数据元素的插入、删除效率较高5.以下表中可以随机访问的是( D )。
A.单向链表 B.双向链表C.单向循环链表D.顺序表6.带头结点的单向链表为空的判断条件是( B )(设头指针为head)。
A.head = =NULL B.head->next= =NULLC.head->next= =head D.head!=NULL7 .设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为( A )。
A.(n+1)/2 B.n C.2n D.n-i8.线性结构中数据元素的位置之间存在(A )的关系。
A.一对一B.一对多C.多对多D.每一个元素都有一个直接前驱和一个直接后继9.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为(A )。
A.x=top->data;top=top->next; B.top=top->next;x=top->data;C.x=top-> next;top=top-> data; D.top->next =top; x=top->data;10.设顺序存储的线性表长度为n,要删除第i个元素,按课本的算法,当i=( C )时,移动元素的次数为3 A.3 B.n/2 C.n-3 D.411.以下说法正确的是( C )。
数据结构填空题大全
数据结构填空题大全二、填空题(每题6 分,共24分)1. 数据结构是指数据及其相互之间的联系。
当结点之间存在M对N(M:N)的联系时,称这种结构为图或者是图的结构2. 队列的插入操作是在队列的尾进行,删除操作是在队列的首进行。
3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是top==0 (要超出才为满)。
4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为O(1) ,在表尾插入元素的时间复杂度为O(n) 。
5. 设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用128 个字节。
W中第6 行的元素和第4 列的元素共占用44 个字节。
若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为108 。
6.广义表A= (a,(a,b),((a,b),c)),则它的深度为3 ,它的长度为3 。
7. 二叉树是指度为2的有序树。
一棵结点数为N的二叉树,其所有结点的度的总和是n-1 。
8. 对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个有序序列有序列表。
对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的_后缀表达式后缀表达式(或列波兰式)。
9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为___2n___个,其中____n-1___个用于指向孩子,___n+1____个指针是空闲的。
10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A 中,即编号为0的结点存储到A[0]中。
其余类推,则A[ i ]元素的左孩子元素为_2加一___,右孩子元素为_2加二___,双亲元素为__(i-1)/2__。
11.在线性表的散列存储中,处理冲突的常用方法有开放地址法和__ _链接法______两种。
12. 当待排序的记录数较大,排序码较随机且对稳定性不作要求时,宜采用快速_排序;当待排序的记录数较大,存储空间允许且要求排序是稳定时,宜采用____并归排序。
2020年国家开放大学电大考试数据结构期末综合考题及答案
一、单项选择题1.数据的物理结构(D )。
A.与数据的逻辑结构无关 B.仅仅包括数据元素的表示C.只包括数据元素间关系的表示 D.包括数据元素的表示和关系的表示2.数据元素是数据的基本单位,它(C )。
A.只能有一个数据项组成B.至少有二个数据项组成C.可以是一个数据项也可以由若干个数据项组成D.至少有一个数据项为指针类型3.从n个数中选取最大元素,(C )。
A.基本操作是数据元素间的交换B.算法的时间复杂度是O(n2)C.算法的时间复杂度是O(n) D.需要进行(n+1)次数据元素间的比较4.线性表的顺序结构中,(C )。
A.逻辑上相邻的元素在物理位置上不一定相邻B.数据元素是不能随机访问的C.逻辑上相邻的元素在物理位置上也相邻D.进行数据元素的插入、删除效率较高5.以下表中可以随机访问的是(D )。
A.单向链表 B.双向链表C.单向循环链表D.顺序表6.带头结点的单向链表为空的判断条件是(B )(设头指针为head)。
A.head = =NULL B.head->next= =NULL C.head->next= =head D.head!=NULL 7 .设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为( A )。
A.(n+1)/2 B.n C.2n D.n-i8.线性结构中数据元素的位置之间存在(A)的关系。
A.一对一B.一对多C.多对多D.每一个元素都有一个直接前驱和一个直接后继9.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为(A )。
A.x=top->data;top=top->next; B.top=top->next;x=top->data;C.x=top-> next;top=top-> data; D.top->next =top; x=top->data;10.设顺序存储的线性表长度为n,要删除第i个元素,按课本的算法,当i=(C)时,移动元素的次数为3A.3 B.n/2 C.n-3 D.411.以下说法正确的是(C )。
数据结构填空题题库
数据结构填空题题库一、数据结构简介数据结构是计算机科学中的一门重要课程,它研究如何组织和存储数据,以便能够高效地访问和操作。
数据结构填空题是数据结构课程中常见的一种考查方式,通过填空来检验学生对数据结构概念和算法的理解和应用能力。
二、题目类型1. 基本概念填空题这类题目主要考查对数据结构基本概念的理解。
例如:1) __________是一种按照特定方式组织数据的方式。
2) 在链表中,每个节点包含一个数据元素和一个指向下一个节点的指针,这个指针通常称为__________。
2. 算法填空题这类题目主要考查对数据结构算法的理解和应用。
例如:1) 在二叉树的前序遍历算法中,首先访问根节点,然后递归遍历左子树,最后递归遍历右子树。
请将下列代码中的空白处填写正确的递归调用语句:```pythondef preorder_traversal(root):if root is None:returnprint(root.value)preorder_traversal(_______)preorder_traversal(_______)```3. 复杂数据结构填空题这类题目主要考查对复杂数据结构的理解和应用。
例如:1) 在图的深度优先搜索算法中,为了避免重复访问节点,需要使用一个__________来记录已经访问过的节点。
三、题目编写要求1. 清晰明了题目描述应当清晰明了,避免歧义,确保学生能够准确理解题目要求。
2. 考察重点题目应当围绕数据结构的重点内容进行设计,考察学生对重要概念和算法的理解和运用能力。
3. 可变性题目的数据和要求可以随意编写,以确保学生能够灵活应用所学的知识。
4. 难度适宜题目难度应当适宜,既不能过于简单,也不能过于复杂,以确保能够准确反映学生的水平。
四、题目示例1. 基本概念填空题1) __________是一种按照特定方式组织数据的方式。
答案:数据结构2) 在链表中,每个节点包含一个数据元素和一个指向下一个节点的指针,这个指针通常称为__________。
国家开放大学2020年7月《1252-数据结构(本)》期末考试复习题及答案
国家开放大学2020年7月《1252-数据结构(本)》期末考试复习题及答案综合练习一一、单项选择题1.设有头指针为head的带有头结点的非空单向循环链表, 指针p指向其尾结点, 要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。
A.p =head; B.p=NULL; C.p->next =head; D.head=p;2.在一个单链表中p指向结点a, q指向结点a的直接后继结点b,要删除结点b,可执行()。
A.p->next=q->next ; B.p=q->next;C.p->next=q; D.p->next=q;3. 以下说法不正确的是A. 线性表的链式存储结构不必占用连续的存储空间B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;5.把数据存储到计算机中,并具体体现( )称为物理结构。
A. 数据元素间的逻辑关系B.数据的处理方法C.数据的性质D.数据的运算6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。
A.16 B.14 C.15 D.137.链表所具备的特点之一是()。
A.可以随机访问任一结点 B.需要占用连续的存储空间C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。
【标准答案】国家开放大学2020年7月《1252数据结构(本)》春季学期期末统一考试真题
)。
A. f —>next=p; f=p
B. r->next=p;r=p
C. p->next=r;r=p
D. p->next=f;f=p
4. 在一个头指针为 head 的带头结点的单向循环链表中, p 指向尾结点,要使该链表成为
不带头结点的单向链表,可执行(
)。
— A. head= head >next;p=NULL
种顶点序列为(
)。
A. abecdfg C. aebcfdg
546
图1
B. aecbdfg D. aedfcbg
10. 设一棵哈夫曼树共有 31 个结点,则该树共有(
A. C 1 41 6
B. 15
)个非叶子结点。
.
D. 17
得分 1 评卷人
二、填空题(每小题 2 分,共 24 分)
11.
结构中,数据元素的位置之间存在多对多的关系。
: : I 218 I :51630 174517591860 I :61980 I :51 : :
(3) 以 1,2,3 ,6,7,8 作为叶结点的权,构造一棵哈夫曼树。
得分 1 评卷人
四、程序填空题(每空 2 分,共 16 分)
25. 设线性表以不带头结点的单向链表存储,链表头指针为 head, 以下程序的功能是: (1)
B. head= head-> next; P- >next= head
— — C. head >next=p >next
D. head= head->next;p->next=NULL 545
5. 元素 212,214,216,218 按顺序依次进栈,则该栈的不可能输出序列是(
电大数据结构复习题(填空题)
a,b,c,d,e一系列栈操作SSXSXSSXXX之后,得到的输出序列为 bceda 。 30、 一个递归算法必须包括 终止条件 和 递归部分 。 31、 判断一个循环队列LU(最多元素为m0)为空的条件是 LU>front==LU->rear 。 32、 在将中缀表达式转换成后缀表达式和计算后缀表达式的算法 中,都需要使用栈,对于前者,进入栈中的元素为表达式中的 运算符 ,而对于后者,进入栈的元素为 操作数 ,中缀表 达式(a+b)/c-(f-d/c)所对应的后缀表达式是 ab+c/fde/-- 。 33、 向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行 s>next=h; 和h=s;操作。(结点的指针域为next)。 34、 从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结 点的值,可执行x=h->data;和 h=h->next; 。(结点的指针域 为next) 35、 在一个链队中,设f和r分别为队头和队尾指针,则插入s所指 结点的操作为 r->next=s; 和r=s; (结点的指针域为next) 36、 在一个链队中,设f和r分别为队头和队尾指针,则删除一个结 点的操作为 f=f->next; 。 (结点的指针域为next) 37、 串是一种特殊的线性表,其特殊性表现在组成串的数据元素都 是 字符 。 38、 串的两种最基本的存储方式是 顺序存储方式 和 链式存储 方式 。 39、 空串的长度是 0 ;空格串的长度是 空格字符的个数 。 40、 需要压缩存储的矩阵可分为 特殊 矩阵和 稀疏 矩阵两种。 41、 设广义表L=((),()),则表头是 () ,表尾是 ()) ,L的长度是 2 。 42、 广义表A((a,b,c),(d,e,f))的表尾为 ((d,e,f)) 。 43、 两个串相等的充分必要条件是 串长度相等且对应位置的字符 相等 。 44、 设有n阶对称矩阵A,用数组s进行压缩存储,当ij时,A的数组 元素aij相应于数组s的数组元素的下标为 i(i-1)/2+j 。(数组 元素的下标从1开始)。
电大《数据结构》2020-2021期末试题及答案
电大《数据结构》2020-2021期末试题及答案一、单项选择题1. 一个数组元素a 与( A )的表示等价。
A. *(a+i)B. a+iC. *a+iD. &a+I2.执行下面程序段时,执行S语句的次数为( D )。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++) S;A. n2B. n2/2C. n(n+1)D. n(n+1)/23. 当一个作为实际传递的对象占用的存储空间较大并可能被修改时,应最好说明为( B ),以节省参数值的传输时间和存储参数的空间。
A. 基本类型B. 引用型C. 指针型D. 常值引用型4. 输出一个二维数组b[m][n]中所有元素值的时间复杂度为( D )。
A. O(n)B. O(m+n)C. O(n2)D. O(m*n)5. 某算法仅含程序段1和程序段2,程序段1的执行次数3n2,程序段2的执行次数为0.01n3,则该算法的时间复杂度为( C )。
A. O(n)B. O(n2)C. O(n3)D. O(1)6. 多维数组实际上是由嵌套的( A )实现的。
A. 一维数组B. 多项式C. 三元组表D. 简单变量7. 在一个长度为n的顺序表中删除第i个元素(0≤i≤n-1)时,需要从前向后依次前移( C )个元素。
A. n-iB. n-i+1C. n-i-1D. i8. 在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。
A. O(n)B. O(n/2)C. O(1)D. O(n2)9. 设有一个n´n的对称矩阵A,将其上三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那么第i行的对角元素A存放于B中( C )处。
A. (i+3)*i/2B. (i+1)*i/2C. (2n-i+1)*i/2D. (2n-i-1)*i/210. 不带头结点的单链表first为空的判定条件是( A )。
数据结构填空题题库
数据结构填空题题库一、数据结构概述数据结构是计算机科学中研究数据组织、存储和操作的一门学科。
它关注如何以最有效地方式组织和存储数据,并提供高效的数据操作和访问方法。
数据结构填空题题库旨在帮助学生巩固对数据结构的理解和应用。
二、填空题示例1. 栈是一种______数据结构,遵循先进后出(LIFO)的原则。
答案:线性2. 链表是一种______数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
答案:非线性3. 树是一种______数据结构,由一组节点和连接节点的边组成。
答案:非线性4. 在二叉树中,每个节点最多有______个子节点。
答案:两个5. 哈希表是一种______数据结构,通过将关键字映射到表中的位置来实现高效的数据查找。
答案:散列6. 图是一种______数据结构,由一组节点和连接节点的边组成,用于表示实体之间的关系。
答案:非线性三、填空题题库1. 在栈中,插入新元素的操作称为______。
答案:压栈2. 树的根节点是位于树的______。
答案:顶部3. 在链表中,删除节点的操作称为______。
答案:删除4. 在二叉树中,每个节点都有一个______节点和一个______节点。
答案:左,右5. 在哈希表中,将关键字映射到表中位置的过程称为______。
答案:哈希函数6. 图中连接节点的边可以是______的。
答案:有向的或无向的7. 栈的特点是______。
答案:先进后出8. 链表的特点是______。
答案:动态分配内存,插入和删除操作高效9. 二叉树的特点是______。
答案:每个节点最多有两个子节点10. 哈希表的特点是______。
答案:高效的数据查找,以关键字为索引11. 图的特点是______。
答案:用于表示实体之间的关系,可以是有向的或无向的四、总结数据结构填空题题库提供了一系列填空题,涵盖了栈、链表、树、哈希表和图等常见的数据结构。
通过解答这些题目,可以加深对数据结构的理解和应用。
数据结构填空题题库
数据结构填空题题库一、概述数据结构是计算机科学中的一个重要概念,它涉及到如何组织和存储数据,以及如何有效地访问和操作数据。
填空题是一种常见的测试题型,用于考察学生对数据结构的理解和应用能力。
本文将编写一个数据结构填空题题库,包含多个填空题,涵盖数据结构的各个方面。
二、题目示例1. 在数据结构中,栈是一种__________性的数据结构,遵循先进后出的原则。
它有两个基本操作,分别是__________和__________。
答案:后进,入栈,出栈2. 链表是一种__________性的数据结构,由一系列节点组成。
每一个节点包含一个数据元素和一个指向下一个节点的指针。
链表有两种常见的类型,分别是__________链表和__________链表。
答案:动态,单向,双向3. 树是一种__________性的数据结构,由一组节点和一组连接节点的边组成。
树有一个根节点,每一个节点可以有零个或者多个子节点。
二叉树是一种特殊的树,每一个节点最多有__________个子节点。
答案:分层,两4. 图是一种__________性的数据结构,由一组节点和一组连接节点的边组成。
图可以分为有向图和__________图两种类型。
图的遍历算法有__________和__________两种常见方法。
答案:非分层,无向,深度优先,广度优先5. 哈希表是一种__________性的数据结构,用于存储键值对。
哈希表通过哈希函数将键映射到一个固定大小的数组中,以实现快速的查找和插入。
哈希表的冲突解决方法包括__________法和__________法。
答案:随机,开放寻址,链地址法三、题目解析1. 在这道题中,我们考察了栈的基本概念和操作。
栈是一种后进先出(LIFO)的数据结构,可以通过入栈和出栈操作来实现数据的存储和访问。
入栈操作将元素添加到栈顶,出栈操作将栈顶元素移除并返回。
通过这道题,学生可以加深对栈的理解,并掌握栈的基本操作。
数据结构填空题题库
数据结构填空题题库一、栈和队列1. 栈是一种遵循后进先出(LIFO)原则的数据结构。
它可以通过两个基本操作实现:压栈(push)和弹栈(pop)。
栈可以用数组或者链表实现。
2. 队列是一种遵循先进先出(FIFO)原则的数据结构。
它可以通过两个基本操作实现:入队(enqueue)和出队(dequeue)。
队列可以用数组或者链表实现。
3. 栈和队列的应用非常广泛。
例如,栈可以用于实现函数调用的递归过程和表达式求值,而队列可以用于实现任务调度和缓冲区管理等。
二、链表1. 链表是一种动态数据结构,它由一系列节点组成。
每一个节点包含数据和指向下一个节点的指针。
2. 链表可以分为单向链表和双向链表两种类型。
单向链表的每一个节点惟独一个指针指向下一个节点,而双向链表的每一个节点有两个指针,分别指向前一个节点和后一个节点。
3. 链表的插入和删除操作非常高效,时间复杂度为O(1)。
但是,链表的访问操作需要遍历整个链表,时间复杂度为O(n)。
4. 链表的应用非常广泛。
例如,在图的表示中,可以使用链表来表示图中的顶点和边;在操作系统中,可以使用链表来管理进程和线程等。
三、树和二叉树1. 树是一种非线性的数据结构,它由一组节点和一组边组成。
树的一个节点被称为根节点,除了根节点外,每一个节点都有一个父节点和零个或者多个子节点。
2. 二叉树是一种特殊的树,每一个节点最多有两个子节点。
二叉树可以分为满二叉树、彻底二叉树和平衡二叉树等不同类型。
3. 二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。
前序遍历先访问根节点,然后按照左子树-右子树的顺序遍历;中序遍历先按照左子树-根节点-右子树的顺序遍历;后序遍历先按照左子树-右子树-根节点的顺序遍历。
4. 树和二叉树的应用非常广泛。
例如,二叉搜索树可以用于实现快速查找和排序;堆可以用于实现优先队列;哈夫曼树可以用于数据压缩等。
四、图1. 图是一种由顶点和边组成的数据结构。
顶点表示图中的元素,边表示顶点之间的关系。
国家开放大学电大《数据结构》网络课程序填空题题库及答案
国家开放大学电大《数据结构》网络课程序填空题题库及答案程序填空题题目1设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data,完成程序中空格部分。
#define NULL 0void main( ){ NODE *head ,*p ;p=head; /*p为工作指针*/do{printf(“%d\n”, ;;}while ;}p‑>datap=p‑>next p!=NULL题目2设有一个头指针为head的不带头结点单向链表,p、q是指向链表中结点类型的指针变量,p指向链表中结点a, (设链表中没有结点的数据域与结点a的数据域相同),写出相关语句(1)使该单向链表成为单向循环链表(2)插入结点s,使它成为a结点的直接前驱q=p; x=p->data;while )q=q->next;q->next=head;q=p; p=p->next;while(p->data!=x){ q=p;}s->next=p;题目3以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针struct node{ ElemType data;struct node *next;};struct node *top ;void Push(ElemType x){struct node *p;p=(struct node*)malloc ;p->data=x;;;}A.sizeof (struct node) top=p p‑>next=top题目4以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别链队列的队头、队尾指针struct node{ ElemType data;struct node *next;};struct node *front,*rear;void InQueue(ElemType x){struct node *p;p= (struct node*) malloc ;p->data=x;p->next=NULL;;rear= ;}题目5以下程序是后序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符型,BT指向根结点)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、数据结构按结点间的关系,可分为4种逻辑结构:集合、线性结构、树形结构、图状结构。
2、数据结构中的数据元素存在多对多的关系称为图状结构结构。
3、在一个长度为n的顺序存储结构的线性表中,向第i(1≤i≤n+1)个元素之前插入新元素时,需向后移动n-i+1个数据元素。
4、从长度为n的采用顺序存储结构的线性表中删除第i(1≤i≤n+1)个元素,需向前移动n-i个元素。
5、数据的逻辑结构在计算机中的表示称为物理结构或存储结构。
6、除了第1个和最后一个结点外,其余结点有且只有一个前驱结点和后继结点的数据结构为线性结构,每个结点可有任意多个前驱和后继结点数的结构为非线性结构。
7、算法的5个重要特性是有穷性、确定性、可形性、有零个或多个输入、有零个或多个输出。
8、数据结构中的数据元素存在一对多的关系称树形结构结构。
9、往栈中插入元素的操作方式是:先移动栈顶指针,后存入元素。
10、数据结构中的数据元素存在一对一的关系称为线性结构结构。
11、要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。
则比较的次数和算法的时间复杂度分别为n-1和O(n)。
12、在一个单链表中p所指结点之后插入一个s所指结点时,应执行__s->next=p->next;__和p->next=s;的操作。
13、设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next= =head,则p所指结点为尾结点。
14、在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。
则可以用操作q->next=p->next; 。
15、设有一个头指针为head的单向链表,p指向表中某一个结点,且有p->next= =NULL,通过操作p->next=head;,就可使该单向链表构造成单向循环链表。
16、每个结点只包含一个指针域的线性表叫单链表。
17、线性表具有顺序存储和链式存储两种存储结构。
18、数据的逻辑结构是从逻辑关系上描述数据,它与数据的关系存储结构无关,是独立于计算机的。
19、在双向循环链表的每个结点中包含两个指针域,其中next指向它的直接后继,prior指向它的直接前驱,而头结点的prior指向尾结点,尾结点的next指向头结点。
20、单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为头结点的指针;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向指向第一个结点的指针。
21、线性链表的逻辑关系时通过每个结点指针域中的指针来表示的。
其逻辑顺序和物理存储顺序不再一致,而是一种链式存储结构,又称为链表。
22、栈是限定在表的一端进行插入和删除操作的线性表,又称为后进先出表。
23、队列的特性是先进先出表。
24、删除栈中元素的操作方式是:先取出元素,后移动栈顶指针。
25、循环队列队头指针在队尾指针下一个位置,队列是“满”状态26、在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针增1 ,当删除一个元素队列时,头指针增1。
27、循环队列的引入,目的是为了克服假上溢。
28、向顺序栈插入新元素分为三步:第一步进行栈是否满判断,判断条件是s->top=MAXSIZE-1 ;第二步是修改栈顶指针;第三步是把新元素赋给栈顶对应的数组元素。
同样从顺序栈删除元素分为三步:第一步进行栈是否空判断,判断条件是s->top=-1。
第二步是把栈顶元素;第三步修改栈顶指针。
29、假设以S和X分别表示入栈和出栈操作,则对输入序列a,b,c,d,e一系列栈操作SSXSXSSXXX之后,得到的输出序列为bceda。
30、一个递归算法必须包括终止条件和递归部分。
31、判断一个循环队列LU(最多元素为m0)为空的条件是LU->front==LU->rear。
32、在将中缀表达式转换成后缀表达式和计算后缀表达式的算法中,都需要使用栈,对于前者,进入栈中的元素为表达式中的运算符,而对于后者,进入栈的元素为操作数,中缀表达式(a+b)/c-(f-d/c)所对应的后缀表达式是ab+c/fde/--。
33、向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s->next=h; 和h=s;操作。
(结点的指针域为next)。
34、从一个栈顶指针为h的链栈中删除一个结点时,用x保存被删结点的值,可执行x=h->data;和h=h->next; 。
(结点的指针域为next)35、在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为r->next=s; 和r=s; (结点的指针域为next)36、在一个链队中,设f和r分别为队头和队尾指针,则删除一个结点的操作为f=f->next; 。
(结点的指针域为next)37、串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是字符。
38、串的两种最基本的存储方式是顺序存储方式和链式存储方式。
39、空串的长度是0 ;空格串的长度是空格字符的个数。
40、需要压缩存储的矩阵可分为特殊矩阵和稀疏矩阵两种。
41、设广义表L=((),()),则表头是(),表尾是()),L的长度是 2 。
42、广义表A((a,b,c),(d,e,f))的表尾为((d,e,f))。
43、两个串相等的充分必要条件是串长度相等且对应位置的字符相等。
44、设有n阶对称矩阵A,用数组s进行压缩存储,当i≥j时,A的数组元素aij相应于数组s的数组元素的下标为i(i-1)/2+j 。
(数组元素的下标从1开始)。
45、对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标和非零元素值三项信息。
46、结点的度是指结点所拥有的子树树木或后继结点数。
47、树的度是指树中所有结点的度的最大值。
48、度大于0的结点称作分支结点或非终端结点。
49、度等于0的结点称作叶子结点或终端结点。
50、在一棵树中,每个结点的子树的根或者说每个结点的后继结点称为该结点的孩子结点,简称为孩子。
51、一个结点称为其后继结点的双亲结点(简称双亲)。
52、具有同一双亲的结点互称为兄弟结点,简称为兄弟。
53、每个结点的所有子树中的结点被称为该结点的子孙。
54、从根结点到该结点所经分支上的所有结点称为该结点的祖先。
55、树的深度或高度是指树中结点的最大层数。
56、m(m≥0)棵互不相交的树的集合称为森林。
57、度为k的树中的第i层上最多有K i-1 结点。
58、深度为k的二叉树最多有2k-1 结点。
59、在一棵二叉树中,如果树中的每一层都是满的,则称此树为满二叉树;但如果出最后一层外,其余层都是满的,并且最后一层是满的,或者是在缺少若干连续个结点,则称此二叉树为完全二叉树。
60、具有n个结点的完全二叉树的深度是⎣⎦1log2+n。
61、先序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,访问二叉树的根结点;先序遍历二叉树的左子树,先序遍历二叉树的右子树。
62、中序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,中序遍历二叉树的左子树;访问而叉树的根结点,中序遍历二叉树的右子树。
63、后序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,后序遍历二叉树的左子树;后序遍历二叉树的右子树,访问而叉树的根结点。
64、将树中结点赋上一个有着某种意义的实数,称此实数为该结点的权。
65、树的带权路径长度为树中所有叶子结点的带权路径长度之和。
66、哈夫曼树又称为最优二叉树,它是n个带权叶子结点构成的所有二叉树中带权路径长度WPL最小的二叉树。
67、若以4,5,6,7,8作为叶子结点的权值构造哈夫曼树,则其带权路径长度是69 。
68、具有m个叶子结点的哈夫曼树共有2m-1 结点。
69、在图中,任何两个数据元素之间都可能存在关系,因此图的数据元素之间是一种多对多的关系。
70、图的邻接矩阵表示法是用一个二维数组来表示图中顶点之间的相邻关系。
71、邻接表是图中的每个顶点建立一个邻接关系的单链表。
72、图的遍历是从图的某一顶点出发,按照一定的搜索方法对图中所有顶点各做一次访问的过程。
73、图的深度优先搜索遍历类似于树的先序遍历。
74、图的广度优先搜索类似于树的按层次遍历。
75、具有n个顶点的有向图的邻接矩阵,其元素个数为n2 。
76、具有n个顶点的无向图至少有条边,才能确保其为一个连通图。
77、图常用的两种存储结构是邻接矩阵和邻接表。
78、一个AOV网(顶点活动图)应该是一个有向无环图。
即不应该带有回路,否则回路上的所有活动都无法进行。
79、用邻接矩阵存储有向图G,其第i行的所有元素之和等于顶点i的出度。
80、在有n个顶点的有向图中,每个顶点的度最大可达2(n-1) 。
81、在一个带权图中,两顶点之间的最段路径最多经过n-1 条边。
82、为了实现图的深度优先搜索遍历,其非递归的算法中需要使用的一个辅助数据结构为栈。
83、在各种查找方法中,平均查找长度与结点个数n无关的查找方法是哈希表查找法。
84、如果对查找表只进行查询某个特定的数据元素是否在查找表中,以及查找某个特定数据元素的各种属性两种类型的基本操作,而不进行插入和删除操作数据元素的查找表称为静态查找表。
85、如果在查找表中进行查询的过程中,同时插入查找表中不存在的数据元素,或者从查找表中删除已存在的某个数据元素,则称此类查找表为动态查找表。
86、关键字是记录某个数据项的值,用它可以识别、确定一个记录。
87、在一个查找表中,能够唯一地确定一个记录的关键字称为主关键字。
88、平均查找长度是指为确定记录在查找表中的位置,需要与给定值进行比较的关键字个数的数学期望值。
89、顺序查找是一种最简单的查找方法。
90、折半查找又称为二分查找。
使用该查找算法的前提条件是,查找表中记录相应的关键字值必须按升序或降序排列。
91、折半查找只适用于顺序存储结构的有序表。
92、分块查找又称为索引顺序查找,它是一种介于顺序查找和折半查找之间的查找方法。
93、二叉排序树或者是一棵空树,或者是具有下列性质的一棵二叉树:(1)若左子数不空,则左子树所有结点的值均小于根结点的值。
(2)若右子数不空,则右子树所有结点的值均大于根结点的值。
(3)左右子树又分别是二叉排序树。
94、哈希表是用来存放查找表中记录序列的表,每一个记录的存储位置是以该记录得到关键字为自变量,由相应哈希函数计算所得到的函数值。
95、在有序表A[1….18]中,采用二分查找算法查找元素值等于A[17]的元素,所比较过的元素的下标依次是9,14,16 ,17 。
96、根据排序过程中所用的存储器不同,可以将排序方法分为内部排序和外部排序。