数据结构复习答案2013-1
数据结构复习题及答案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.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
(完整版)数据结构课后习题答案(可编辑修改word版)

第1 章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,… },字母字符数据对象是集合C={‘A’,‘B’,… ,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
答案:例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。
每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。
数据结构1-3章习题答案2013

while(p->next!=NULL)
p=p->next;
temp=p->data;
delete p;
return temp;
}
4、数据结构简单地说是指数据以及相互之间的联系。
5、算法应具备以下5个特性:有穷性、正确性、可行性、输入和输出。
6、在分析各种算法的时间复杂度时,一般只讨论相应的数量级,用f(素的个数远远少于零元素的个数。
8、的运算规则为后进先出,队列的运算规则为先进先出。
C.(rear+1) %n= =frontD. (rear-1)%n= = front
5、下列是顺序存储线性表排序的算法
void Sort(List& L)
{
int i,j;
ElemType x;
for(i=1;i<L.size;i++)
{
x=L.list[i];
for(j=i-1;j>=0;j--)
}
不考虑健壮性条件,写出下列出队算法中缺失的语句:
ElemType OutQueue(struct QueueSq* Q)
{…
Q->front=(Q->front+1)%Q->MaxSize;
return Q->queue[Q->front];
…
}
参考以上两算法和数据结构,写出队满的条件:
(Q->rear+1)%Q->MaxSize==Q->front
和队空的条件:
Q->front==Q->rear
六、用f(n)=2n为例,说明栈与递归算法之间的关系。
数据结构课后习题答案

数据结构课后习题答案第1章绪论一、基础知识题1.1 简述下列概念数据,数据元素,数据类型,数据结构,逻辑结构,存储结构,算法。
【解答】数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位。
在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。
数据类型是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总体描述。
每一种计算机程序设计语言都定义有自己的数据类型。
“数据结构”这一术语有两种含义,一是作为一门课程的名称;二是作为一个科学的概念。
作为科学概念,目前尚无公认定义,一般认为,讨论数据结构要包括三个方面,一是数据的逻辑结构,二是数据的存储结构,三是对数据进行的操作(运算)。
而数据类型是值的集合和操作的集合,可以看作是已实现了的数据结构,后者是前者的一种简化情况。
数据的逻辑结构反映数据元素之间的逻辑关系(即数据元素之间的关联方式或“邻接关系”),数据的存储结构是数据结构在计算机中的表示,包括数据元素的表示及其关系的表示。
数据的运算是对数据定义的一组操作,运算是定义在逻辑结构上的,和存储结构无关,而运算的实现则依赖于存储结构。
数据结构在计算机中的表示称为物理结构,又称存储结构。
是逻辑结构在存储器中的映像,包括数据元素的表示和关系的表示。
逻辑结构与计算机无关。
算法是对特定问题求解步骤的一种描述,是指令的有限序列。
其中每一条指令表示一个或多个操作。
一个算法应该具有下列特性:有穷性、确定性、可行性、输入和输出。
1.2数据的逻辑结构分哪几种,为什么说逻辑结构是数据组织的主要方面?【解答】数据的逻辑结构分为线性结构和非线性结构。
(也可以分为集合、线性结构、树形结构和图形即网状结构)。
逻辑结构是数据组织的某种“本质性”的东西:(1)逻辑结构与数据元素本身的形式、内容无关。
(2)逻辑结构与数据元素的相对位置无关。
(3)逻辑结构与所含数据元素的个数无关。
(完整版)数据结构试题及答案

(完整版)数据结构试题及答案《数据结构》⾃考复习思考试题○10⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1. 若将数据结构形式定义为⼆元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发⽣变化的操作是( )A. 出队B. ⼊队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进⾏,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采⽤的两种存储⽅式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进⾏的⽆效位移次数为( )A. mB. n-mC. n-m+1D. n8. ⼆维数组A[12][18]采⽤列优先的存储⽅法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( )A. 429B. 432.C. 435D. 4389. 对⼴义表L=((a,b),(c,d),(e,f))执⾏操作tail(tail(L))的结果是( )A. (e,f)B. ((e,f))C. (f)D. ( )10. 下列图⽰的顺序存储结构表⽰的⼆叉树是( )11. n个顶点的强连通图中⾄少含有( )A. n-1条有向边B. n条有向边C. n(n-1)/2条有向边D. n(n-1)条有向边12. 对关键字序列(56,23,78,92,88,67,19,34)进⾏增量为3的⼀趟希尔排序的结果为( )A. (19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C. (19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)13. 若在9阶B-树中插⼊关键字引起结点分裂,则该结点在插⼊前含有的关键字个数为( ) A. 4 B. 5C. 8D. 914. 由同⼀关键字集合构造的各棵⼆叉排序树( )A. 其形态不⼀定相同,但平均查找长度相同B. 其形态不⼀定相同,平均查找长度也不⼀定相同C. 其形态均相同,但平均查找长度不⼀定相同.D. 其形态均相同,平均查找长度也都相同15. ISAM⽂件和VSAM⽂件的区别之⼀是( )A. 前者是索引顺序⽂件,后者是索引⾮顺序⽂件B. 前者只能进⾏顺序存取,后者只能进⾏随机存取C. 前者建⽴静态索引结构,后者建⽴动态索引结构D. 前者的存储介质是磁盘,后者的存储介质不是磁盘⼆、填空题(本⼤题共10⼩题,每空2分,共20分)16. 数据的逻辑结构在计算机存储器内的表⽰,称为数据的____________。
2013年山东科技大学数据结构与操作系统--真题及参考答案

《数据结构》部分一、简答题(10分,每题5分)1、数据元素之间的关系在计算机中的存储有几种表示方法?各有什么特点?(P6)解:数据元素之间的关系在计算机中有四种不同的表示方法:(1)顺序存储方法。
数据元素顺序存放,每个结点只含有一个元素。
存储位置反映数据元素间的逻辑关系。
存储密度大,但有些操作(如插入、删除)效率较差。
(2)链式存储方法。
每个结点除包含数据元素信息外还包含一组指针。
指针反映数据元素间的逻辑关系。
这种操作不要求存储空间连续,便于进行插入和删除等操作,但存储空间利用率较低。
另外,由于逻辑上相邻的数据元素在存储空间上不一定相邻,所以不能对其进行随机存取。
(3)索引存储方法。
除数据元素存储在一地址连续的内存空间外,尚需建立一个索引表。
索引表中的索引指示结点的存储位置,兼有动态和静态特性。
(4)哈希(或散列)存储方法。
通过哈希函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将哈希函数的值作为该数据元素的存储地址。
其特点是存取速度快,只能按关键字随机存取,不能顺序存储,也不能折半存取。
2、对于堆排序法,快速排序法和归并排序法,若仅从节省存储空间考虑,则应该首先选取其中哪种方法?其次选取哪种方法?若仅考虑排序结果的稳定性,则应该选取其中哪种方法?若仅从平均情况下排序最快这一点考虑,则应该选取其中哪些方法?(P289)答:若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法;若只从平均情况下最快考虑,则应选取快速排序方法;若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。
二、应用题(55分)1、证明:同一棵二叉树的所有叶子结点,在前序序列、中序序列以及后序序列中都按相同的相对位置出现(即先后顺序相同)。
(8分)(例如先序abc,后序bca,中序bac。
)(P128) 答:【答案】先序遍历是“根左右”,中序遍历是“左根右”,后序遍历是“左右根”。
(完整版)数据结构复习题目及答案

(完整版)数据结构复习题目及答案数据结构 -C 语言版》第一章绪论单项选择题1.在数据结构中,数据的基本单位是 ________2.数据结构中数据元素之间的逻辑关系被称为__ ___ 。
A. 数据的存储结构B. 数据的基本操作C. 程序的算法3.在数据结构中,与所使用计算机无关的是数据的________ ___。
A. 存储结构B. 逻辑和物理结构C. 逻辑结构4.在链式存储结构中,数据之间的关系是通过 _______ ___ 体现的。
A. 数据在内存的相对位置B. 指示数据元素的指针C. 数据的存储地址D. 指针5.计算算法的时间复杂度是属于一种 ______ ___。
A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是A. n 2B. nlognC. nD. logn 7.设使用某算法对 n 个元素进行处理,所需的时间是T(n)=100nlog 2n+200n+2000,则该算法的渐近时间复杂度为 _____ ___。
A. 数据项B. 数据类型C. 数据元素D. 数据变量D. 数据的逻辑结构D. 物理结构A. O(1)B. O(n)C. O(200n)D. O(nlog2n)CDCBBDD第二章线性表单项选择题1 ?链表不具有的特点是 __________ 。
A.可随机访问任一元素B.插入和删除时不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度正比2.设顺序表的每个元素占 8个存储单元。
第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为 ______________ 。
3 ?在线性链表存储结构下,插入操作算法_______________ B. p_>next = p_>n ext;D. p = p->n ext; p->n ext = p->n ext- >n ext;5 .将长度为n 的单链表接在长度为 m 的单链表之后的算法时间复杂度为 __________________ A. 0( n)B. 0(1)C. 0(m)D. 0(m+n)6 ?需要预分较大空间,插入和删除不需要移动元素的线性表,其存储结构是 ________A.单链表B.静态链表C.线性链表D.顺序存储方式ACCABB 填空题1 ?在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的 ____ 结点。
数据结构总复习+习题+解答

数据结构复习资料
数据结构总复习+习题解答
第一章 绪论
1.1 理解基本概念 1、数据是信息的载体,是描述客观事物的数、字符以及能输入到计算机中,被计算机识别 和处理的符号的集合。 2、数据元素是数据的基本单位,可由若干数据项组成。 3、数据对象是性质相同的数据元素的集合。 4、数据结构指某一数据元素集合中所有数据成员之间的关系,定义为: 数据结构={D,R} 5、数据结构三要素:逻辑结构,物理结构,作用于数据结构的运算。 6、逻辑结构:数据元素间的逻辑关系,分为线性结构和非线性结构(集合、树和图结构) 。 7、物理结构:数据元素及其关系在计算机上的映像,通常按顺序存储或链式存储。 8、抽象数据类型定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的 操作。特征:数据抽象和信息隐藏。 9、数据类型和数据结构的异同: 同:它们都具有抽象性,并不特指适用于何处,可根据问题需要用他们来表示数据元 素间的关系。 异:数据结构本身是一种数据的组织和使用形式,通过把数据定义成数据类型才能在 计算机上使用。 1.2 算法特性与性能分析 1、算法的定义:解决特定问题的一系列操作。 2、算法的 5 大特性(要素) :输入、输出、确定性、可行性和有限性。 3、算法时间复杂度分析:寻找关键操作(基本操作,通常为循环的最内层程序段) ,计算关 键操作的执行次数,一般结果为问题规模 n 的多项式。时间复杂度为该多项式的最高次幂。 T(n)=O(1)的含义:常量时间复杂度,表示算法执行时间与问题规模无关。 4、算法空间复杂度分析:算法执行时所需要的辅助空间。 S(n)=O(1)的含义: 常量空间复杂度,表示算法执行时需要的辅助空间与问题规模无关,也 称为算法原地工作。 题 1.1 如何理解抽象数据类型。 答:定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的操作。 题 1.2 数据元素间的逻辑结构关系有哪些。 答:四种。分别是集合结构、线性结构、树状结构、图状结构。 题 1.3 通常从时间复杂度和空间复杂度来评价算法的优劣。 题 1.4 下面算法的时间复杂度为(C) int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) a[i][j]=i*j;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构复习答案一、选择填空1.下面关于线性表的叙述中,错误的是哪一个?()A)线性表采用顺序存储,必须占用一片连续的存储单元。
√B)线性表采用顺序存储,便于进行插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用链接存储,便于插入和删除操作。
2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
√A)顺序表B)双链表C)带头结点的双循环链表D)单循环链表3.链表不具有的特点是()。
A)插入、删除不需要移动元素√B)可随机访问任一元素C)不必事先估计存储空间D)所需空间与线性长度成正比4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。
A)O(0) B)O(1) √C)O(n) D)O(n2)5.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂度为()。
A)O(i) B)O(1) √C)O(n) D)O(i-1)6.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()A)head==NULL B)head→next==NULL√C)head→next==head D)head!=NULL7.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
A)p->next=s;s->next=p->next; √B)s->next=p->next;p->next=s;C)p->next=s;p->next=s->next; D)p->next=s->next;p->next=s;8.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( )。
√A)p->next=p->next->next B)p=p->nextC)p=p->next->next D)p->next=p9.( )又称为FIFO表;( )又称为FILO表。
√A)队列B)散列表√C)栈D)哈希表10.对于栈操作数据的原则是()。
A)先进先出√B)后进先出C)后进后出D)不分顺序11.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
√A)仅修改队头指针B)仅修改队尾指针C)队头、队尾指针都要修改D)队头、队尾指针都可能要修改12.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。
√A)(rear-front+m)%m B)rear-front+1 C)(front-rear+m)%m D)(rear-front)%m 13.栈和队列的共同点是()。
A)都是先进先出B)都是先进后出√C)只允许在端点处插入和删除元素D)没有共同点14.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。
A)6 B)4 √C) 3 D)215.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A)12 √B)33 C)18 D)4016.由3 个结点可以构造出多少种不同的二叉树?( )A)2 B)3 C)4 √D)517.二叉树中第i(i≥1)层上的结点数最多有( )个。
A)2i B)2i√C)2i-1D)2i-118.在有n个叶子结点的哈夫曼树中,其结点总数为( )。
A)不确定B)2n C)2n+1 √D)2n-119.一棵二叉树高度为h,所有结点的度或为0、或为2,则这棵二叉树最少有( )结点。
A)2h √B)2h-1 C)2h+1 D)h+120.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )。
A)9 √B)11 C)15 D)不确定21.树的后根遍历序列等同于该树对应的二叉树的( )。
A)先序序列√B)中序序列C)后序序列D)层序序列22.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( )。
A)都不相同√B)完全相同C)先序和中序相同,而与后序不同D)中序和后序相同,而与先序不同23.下列哪一种图的邻接矩阵是对称矩阵?( )A)有向图√B)无向图C)AOV网 D)AOE网24.在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( 1 )倍。
A)1/2 √B)2 √C)1 D)425.一个有n个顶点的无向图最多有( )条边。
由n个顶点组成的有向图,最多可以有( )条边。
A)n*n B)2n √C)n(n-1) √D)n(n-1)/226.下列说法不正确的是( )。
A)图的遍历是从给定的源点出发每一个顶点仅被访问一次B)遍历的基本算法有两种:深度遍历和广度遍历√C)图的深度遍历不适用于有向图D)图的深度遍历是一个递归过程27.下面哪一方法可以判断出一个有向图是否有环(回路) ( )。
A)深度优先遍历√B)拓扑排序C)求最短路径D)求关键路径28.下列算法中,( )算法用来求图中每对顶点之间的最短路径。
A)Dijkstra √B)Floyed C)Prim D)Kruskal29.关键路径是事件结点网络中( )。
√A)从源点到汇点的最长路径B)从源点到汇点的最短路径C)最长回路D)最短回路30.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A)(n-1)/2 B)n/2 √C)(n+1)/2 D)n31.下面关于二分查找的叙述正确的是() 。
A)表必须有序,表可以顺序方式存储,也可以链表方式存储B)表必须有序,而且只能从小到大排列C 表必须有序且表中数据必须是整型,实型或字符型√D)表必须有序,且表只能以顺序方式存储32.折半查找的时间复杂性为() 。
A)O(n2)B)O(n)C)O(nlogn)√D)O(logn)33.当采用分快查找时,数据的组织方式为() 。
A)数据分成若干块,每块内数据有序√B)数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C)数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D)数据分成若干块,每块(除最后一块外)中数据个数需相同34.下面关于哈希(Hash,杂凑)查找的说法正确的是()。
A)哈希函数构造的越复杂越好,因为这样随机性好,冲突小B)除留余数法是所有哈希函数中最好的√C)不存在特别好与坏的哈希函数,要视情况而定D)若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可35.下面给出的四种排序法中( )排序法是不稳定性排序法。
A)插入B)冒泡C)二路归并√D)堆36.稳定的排序方法是( ) 。
A)直接插入排序和快速排序√B)折半插入排序和起泡排序C)简单选择排序和四路归并排序D)树形选择排序和shell排序37.有一组数据(15,9,7,8,20,-1,7,4) 用快速排序的划分方法进行一趟划分后数据的排序为( )(按递增序)。
√A)下面的B,C,D都不对。
B)9,7,8,4,-1,7,15,20C)20,15,8,9,7,-1,4,7 D)9,4,7,8,7,-1,15,2038.设有一个文件有200个记录,按分块查找法查找记录,如分成10块,每块20个记录,用二分查找法查索引表,用顺序查找法查块内记录,则平均查找长度为( )。
A)8)4 B)10)5 C)13)4 √D)1639.快速排序在最坏情况下的时间复杂性为( )。
A)O(nlog2n) √B)O(n2) C)O(n) D)O(nlogn)二、填空1.一个算法的效率可分为时间效率和空间效率。
2.线性表L=(a1,a2,…,an)用数组表示,假定插入、删除表中任一元素的概率相同,则插入、删除一个元素平均需要移动元素的个数是n/2和(n-1)/2。
3.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为O(1),在给定值为x的结点后插入一个新结点的时间复杂度为O(n) 。
4.顺序存储结构是通过元素在计算机内“物理位置相邻”表示元素之间的逻辑关系的,链式存储结构是通过指针表示元素之间的逻辑关系的。
5.带头结点的双循环链表L为空表的条件是:p-next=head 。
6.当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top1与top2,则当栈1空时,top1为 1 ,栈2空时,top2为n ,栈满时为top1+top2==n。
7.顺序栈S用data[1))n]存储数据,栈顶指针是top,则值为x的元素入栈的操作是*S)top++=x 。
8.已知链队列Q的头尾指针分别是f和r,则将值x入队的操作序列是p->data=e;p->next=NULL;Q)r->next=p;Q)r=p;。
9.稀疏矩阵的存储策略是只存储非零元素。
10. 稀疏矩阵的存储方法主要有两个:一个是 三元组 ,另一个是十字链表示法。
11. 二叉树由 根 , 左子树 、 右子树 三个基本单元组成。
12. 一棵有n 个结点的满二叉树有 n 1=0 个度为1的结点、有 (n-1)/2, (n 1+2n 2)个分支 (非终端)结点和 (n=n 0+n 1+n 2, n 0= n 2+1), (n+1)/2 个叶子,该满二叉树的深度为log 2(n+1) 。
13. 设F 是由T1,T2,T3三棵树组成的森林,与F 对应的二叉树为B ,已知T1,T2,T3的结点数分别为n1,n2和n3则二叉树B 的左子树中有 n1-1 个结点,右子树中有 n2+n3 个结点。
14. 线索二叉树的左线索指向其 前驱 右线索指向其 后继 。
15. 设一棵Huffman 树有6个叶结点,权值分别为3、4、7、14、15、20,则根节点的权值是 63 。
当 初始记录序列按关键字有序或基本有序 时,快速排序算法的时间复杂性为O(n 2)。
16. 在有n 个结点的二叉链表中,空链域的个数为 n+1 。
17. 设一棵完全二叉树具有1000个结点,则此完全二叉树有 500 个叶子结点,有 499 个度为2的结点,有 1 个度为1的结点。
18. 若用n 表示图中顶点数目,则有 n*(n-1)/2 条边的无向图成为完全图。