数据结构老师给的复习要点(严蔚敏版)Word文档下载推荐.doc
- 文档编号:14566564
- 上传时间:2022-10-23
- 格式:DOC
- 页数:6
- 大小:100KB
数据结构老师给的复习要点(严蔚敏版)Word文档下载推荐.doc
《数据结构老师给的复习要点(严蔚敏版)Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《数据结构老师给的复习要点(严蔚敏版)Word文档下载推荐.doc(6页珍藏版)》请在冰豆网上搜索。
intc[123];
inti;
};
classB
Aa;
}
Bb;
b.a是数据项,B是数据元素
例2:
一本书的数目信息为一个数据元素,而数目信息中每一项(如书名、作者名等)为一个数据项
4.从逻辑结构来看,数据结构有哪四种基本结构,各自的特点是什么?
1、集合(数据元素之间同属于一个集合,再无其他关系)
2、线性结构(数据元素之间存在一对一的关系)
3、树形结构(数据元素之间一对多的关系)
4、图状结构或网状结构(数据元素之间多对多的关系)
5.从物理结构来看,数据结构有哪两种基本结构,各自的特点是什么?
1、顺序存储结构
特点:
借助元素在存储器中的相应位置来表示数据元素之间的逻辑关系。
2、链式存储结构
特定:
借助元素在存储地址的指针表示数据元素之间的逻辑关系。
6.算法的5个特征,4个评价标准是什么?
特征:
有穷性、确定性、可行性、输入、输出。
评价标准:
正确性、可读性、健壮性、效率与低存储量需求。
7.描述时间复杂度。
(1)
x=0;
y=0;
z=0;
for(i=1;
i<
=n;
i++)
{x++;
for(j=1;
j<
j++)
{
y++;
for(k=0;
k<
=(2*n);
k++)
z++;
}
}
程序片段中语句x=0、x++、y++、z++的时间复杂度和整段程序的时间复杂度。
O
(1)
O(n)
O(n^2)
O(n^3)
第二章线性表
1.描述线性结构的特点。
2.判断对错,并解释说明。
(1)线性表中的数据元素可以是各种各样的,但同一线性表中的元素一定具有相同特性。
P
(2)线性表采用顺序存储表示时,必须占用一片连续的存储单元。
(3)线性表采用链式存储表示时,不能占用一片连续的存储单元。
O
3.顺序表的第一个元素的存储地址是101,每个元素的长度为3,计算出第6个元素的存储地址是多少?
LOC(a6)=LOC(a1)+5*L=101+5*3=116
4.长度为n的顺序表中,在第i个元素前插入一个新元素时,需要移动多少个元素?
插入算法的平均移动次数是多少,时间复杂度是什么?
参看书P24~25,需要移动n-i+1个元素,平均移动次数为n/2,时间复杂度是O(n)
5.长度为n的顺序表中,将第i个元素删除时,需要移动多少个元素?
删除算法的平均移动次数是多少,时间复杂度是什么?
参看书P24~25,需要移动n-i个元素,平均移动次数为(n-1)/2,时间复杂度是O(n)
6.线性链表的存储特点是?
单链表中的结点由哪两部分构成,画图说明。
7.在一个单链表中,q所指结点是p所指结点的直接前驱结点,若在q与p之间插入一个s所指的结点,写出执行的两条语句(提示:
先链接、后断开)。
s->
next=p;
q->
next=s;
或者s->
next=q->
next;
8.在单链表中,w所指结点是s所指结点的直接前驱结点删除s结点,写出执行的两条语句。
w->
next=s->
free(s)
9.画图说明单循环链表为空的状态,并写出循环链表判断是否为空的语句。
参看书P35图2.12(b)判空语句H->
next=H
10.双向链表中,要在指针q指向的结点后插入新结点t,写出执行的四条语句。
t->
prior=q;
t->
next;
next=t;
next->
prior=s
11.双向链表中,要删除指针q的后继结点,写出执行的两条语句。
T=q->
next=t->
free(t);
或者t=q->
q->
next-q->
free(t)
第三章栈和队列
1.判断对错
(1)栈和队列是操作受限的线性表。
(2)栈的插入操作只需要在表尾端进行,队列的插入操作只需要在表头进行。
(3)栈的操作只和栈顶指针TOP相关,队列的操作只和队头指针FRONT相关。
2.栈的特点是?
队列的特点是?
(先进先出、先进后出中选择)
栈的特点是先进后出(FILO)
队列的特点是先进先出(FIFO)
3.用文字描述算法。
(参照我写的
(1)的算法描述完成)
(1)顺序存储的栈插入操作
算法描述:
(2)顺序栈的删除操作
第一步,判断栈是否为空,如果栈空,不能进行删除操作;
第二步,栈不空的时候,栈顶指针TOP减1,向下移动一位;
第三步,将要删除的栈顶元素用新变量保存;
第三步,栈顶指针TOP加1
(3)链式存储的队列的插入操作
第一步,利用指针创建新结点,新节点的数据域值为要入队列的元素,新结点的指针域复制为NULL;
第二步,将链队列的尾节点链接上新结点;
第三步,修改链队列的尾指针的指向,让它指向新结点;
(4)链栈的删除操作
第一步,利用指针创建新结点,新节点的数据域值为要入栈的元素,新结点的指针域复制为NULL;
第二步,新结点的指针域指向链栈的头结点;
第三步,修改链栈的头指针TOP的指向,让它指向新结点;
4.假设栈为S,写出判断语句
typedefstructsqstack
intdata[max];
inttop;
}sqstack;
sqstack*s;
(1)顺序栈为空的条件判断语句s->
top==0
(2)顺序栈为满的条件判断语句s->
top==max
5.假设队列为Q,写出判断语句
typedefstructSqQueue
intdata[MAX];
intfront;
intrear;
/*定义队头指针Front和队尾指针Rear*/
};
SqQueue*Q
(1)循环队列为空的条件判断语句Q->
rear==Q->
front
(2)循环队列为满的条件判断语句(Q->
rear+1)%MAX==Q->
6.总结说明,线性表的顺序存储与链式存储的区别?
参看书P27第一段
第六章树和二叉树
1.一棵二叉树的广义表表示为a(b(c,d),e(f(,g))),它含有双亲结点(4)个,单分支结点
(2)个,叶子结点(3)个。
二叉树根为a;
a有左孩子b,右孩子e;
b有左孩子c,右孩子d;
e只有左孩子f,f只有右孩子g
2.判断对错
(1)在树中,如果从结点K出发,存在两条分别到达K`,K``的长度相等的路径,则结点K`,K``互为兄弟。
O,还可能是堂兄结点
(2)完全二叉树的某结点若无左孩子,则必是叶结点。
P,由完全二叉树的性质决定
(3)一棵完全二叉树按层次遍历的序列为ABCDEFGHI,则在后序遍历中结点B的直接后继是F。
由于是完全二叉树,所以树中第一层是A,第二层从左向右是B和C,第三层是D、E、F、G,第四层从左向右是H和I。
画出二叉树,进行后序遍历,后序遍历序列为HIDEBFGCA。
(4)二叉树的后序遍历序列中,任意一个结点均处在其子树结点的后面。
后序遍历算法决定的,左、右、根
(5)由二叉树结点的先根序列和后根序列可以唯一地确定一棵二叉树。
不唯一,因为只有在中序遍历中才能划分左右子树
(6)树存储时采用双亲表示法时,求某个结点的孩子时需要遍历整个结构。
(7)一棵有n(n≥1)个结点的d叉树,若用多重链表表示,树中每个结点都有d个链域,则在树的nd个链域中,有n(d-1)+1个是空链域,只有n-1个是非空链域。
根据树的特性:
一对多,每个结点都有且仅有一个双亲结点,除了根结点外。
因此,n个结点的树中有n-1个结点都有且仅有一个双亲,这个关系表示在链式存储里就一定会占用它双亲的一个指针域,所以树中一定有n-1个非空指针域,多叉树也适用。
(8)在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加2。
解:
二叉链表中有n个结点时,一定存在2n个指针域,n+1个空链域,则非空链域为n-1个,所以,空链域=非空链域+2
(9)树的后根遍历序列等同于该树对应的二叉树的中序遍历。
P,参看书P138笔记
(10)树利用孩子兄弟表示法转换后的二叉树中根结点一定不存在右子树。
P,参看书P137页最后一句话
3.二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是(4)。
要想得出最小高度,必须是完全二叉树才能保证,因此这个题目考核的是有15个结点的完全二叉树的高度是?
参看二叉树性质4,即可得出
4.设一棵二叉树结点的先根序列为ABDECFGH,中根序列为DEBAFCHG,则二叉树中叶子结点是(EFH)。
参看书P154例题
5.树的存储结构有几种?
分别是?
二叉树的存储结构有几种,分别是?
树的存储结构有三种:
双亲表示法、孩子表示法、孩子兄弟表示法
二叉树的存储结构有两:
顺序存储、链式存储(又叫二叉链表的表示法)
在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加
(2)。
6.若二叉树有7个度为2的结点,试问有?
个终端结点。
由二叉树的性质3得出,n0=n2+1,所以度为1的终端结点有7+1=8个
7.一棵有124个叶结点的完全二叉树,最多有?
个结点。
首先,由二叉树的性质3得出,度为2的结点个数为124-1=123个;
又根据二叉树的定义可以得出这样的结论:
完全二叉树的前n-1层
8.一棵完全二叉树上有1001个结点,其中叶子结点的个数是?
500
设分支总数变量为b,则n=b+1,得出分支数为1000。
分支数是偶数,所以不存在度为1的结点,只有度为2的结点和叶子结点。
根据性质3,n0=n2+1,所以1001=n0+n2=2*n0+1。
n0=500。
9.w={4,5,6,7,8},如何构建哈夫曼树?
第9章查找
1.查找表的概念?
这是四种经典数据结构中的哪一种?
2.静态查找和动态查找有什么联系和区别?
3.查找表中的关键字是数据元素还是数据项,有什么特点?
4.ASL表示什么?
写出计算的公式,并解释公式中每个变量的含义。
5.描述顺序查找的算法思想(用汉字描述,不是代码)
6.描述折半查找的算法思想。
7.给定由以下元素组成的关键字序列(55,46,89,13,24,67,23,15),将他
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 老师 复习 要点 严蔚敏版