2022年数据结构复习提纲计算机本科 .pdf
《2022年数据结构复习提纲计算机本科 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构复习提纲计算机本科 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 / 8 数据结构复习提纲 (大作业在后面) 计算机本科( 2004 年 11 月)第一部分题型1单选题: 2 分 14=28 分2判断题: 1 分 10=10 分3填空题: 2 分 10=20 分4应用题: 8 分 4=32 分5程序题: 5 分 2=10 分第二部分复习提纲 ( 不分题型, 弄清原理,不要死记硬背) 1简单复杂性的判断:(1)i=n。while(i=1)i=i/2。其中 i=n,n/2,n/22, ,n/2k, 需 n/2k=1,即 2k=n,所以复杂性为O(log2n) (2)i=1。while(i=n) i=i+2。其中 i=1,3,5,(2k-1),需 2k-1=n
2、 ,则频度k=(n+1)/2,复杂性为O(n) (3)i=1。while(i=n) i=i*3。其中 i=1,3,32, ,3k, 需 3k=n,则频度k=log3n,复杂性为O(log3n) (4)i=1。while(i*i=n) i+。其中 i=1,2,3,k ,需 k2=n,则频度k=n1/2,复杂性为O(n1/2) 2四种基本存储方式的特点?什么时候逻辑关系可以由存储地址表示?什么时候由指针表示?什么时候存储地址与结点内容有关系?3逻辑结构、存储结构、运算、算法、算法复杂性等,哪些与计算机有关?无关?1顺序表、单链表的存储、插入、删除运算特点?是否可以随机存取?顺序存取?2单链表中插入
3、结点的基本步骤?3有头结点、无头结点的循环、非循环单链表为空的条件分别是什么?4用尾指针表示循环单链表有什么好处?5例:删除顺序表中所有的正数,要求移动次数小。解:搜索顺序表,对每一个正数,先不删除,而是累计当前正数个数s,于是,对每个非正数,将它一次性前移 s 位。算法复杂性为O (n)。voiddels(sqlist *L) int s,i。s=0。/ 正数计数器for(i=0。in 。i+) if(L-datai0 s+。/ 累计当前正数else if(s0) L-datai-s=l-datai。/ 向前移动 s位L-n=L-n-s 。/ 调整表长 6例:将顺序表中所有负数移动到表的前端
4、,要求移动次数小。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页2 / 8 解:双向扫描:从前向后找一个正数,再从后向前找一个负数,然后交换两者位置。复杂性为O(n)。voidmoves(sqlist *L) int i,j。 datatype x。i=1 。j=L-n 。/ 删除 A1 到An 的所有零元素 , 设数组下标从 1开始 while(idatai0 & idataj=0 & ij) j- -。/ 从后向前找负数if(idatai。L-datai=L-dataj。L-dataj=x。/ 交换i+ 。j - 。 1链队
5、列、链栈是否都有必要设置头结点?2循环队列Am 中,已知头指针、尾指针与元素个数中的任意两个,求另一个?队满条件?len=(rear-front+m)%m。rear=(front+len)%m。front=(rear-len+m)%m。队满: front=(rear+1)%m 3串长、空串、空白串、串连接、子串定位(模式匹配)等是何意?1稀疏矩阵、特殊矩阵的含义?为什么要对矩阵进行压缩存储?2三元组含义?一般矩阵按三元组存储能否节省空间?3广义表可分成几种?它们的图形表示特点如何?4例:从广义表A=(x,(a,b,c),y) 中取出原子b。在广义表中取某个元素,需要将该元素所在的子表逐步分离出
6、来,直到所求的元素成为某个子表的表头,再用取表头运算取出。注意,最终取出某个元素时,不能用取表尾,因为它得到的是该元素组成的子表,而不是元素本身。本例的运算过程为取表尾tail(A):得到 B=(a,b,c),y) 取表头head(B) :得到 C=(a,b,c) 取表尾tail(C):得到 D=(b,c) 取表头head(D) :得到 b 总的过程为:head(tail(head(tail(A)。1树所有结点的度数之和与结点数有何关系?与边数有何关系?解:边数度数和结点数1。因为度数就是孩子数,而根不是孩子,故度数和比结点总数少1。2只有 3 个结点的二叉排序树有几种形态?解:有 5 种,见
7、下图所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页3 / 8 3二叉树是否是树的特殊情形?是否是有序树的特殊情形?解:都不是4树和二叉树的度有何特点?二叉树的度肯定为2 吗?解:二叉树每个结点最多两个孩子,即结点的度最大为2,但也可能所有结点的度都不为2,如只有1 个结点,或单枝树等,所以二叉树的度并不一定是2。5某完全二叉树有600 个结点,则叶子数有多少?度1 结点有多少?解:由层次编号规律,结点i的左孩子编号为2i ,若结点i为叶子,则它没有左孩子,即2in ,即in/2 300 的结点为叶子,叶子号为301,302
8、, ,600 ,共 300 个。由于 n0=n2+1,现在 n0=300,所以 n2=299。另外,结点总数n=n0+n1+n2,所以 n1 6003002991 6二叉树每层只有一个结点,则高度为k 的二叉树有多少种?解:每种这样的二叉树只能有一个叶子,在最底层,而叶子可能有2k-1种情况,故有2k-1种。7完全二叉树有6个叶子,则结点总数就是11 吗?解:已知叶子数的完全二叉树一般有两棵,结点数差1,见下图:ABCDEFGHIJKABCDEFGHIJKL一般,结点数n n0n1 n2,而 n0n21( 二叉树性质 ) ,所以 n2n01 n1。完全二叉树树中度为1 的结点最多只有1 个,即
9、 n11 或 0,所以 n2n0或 n2n01。8二叉树各结点在先、中、后序序列中的相对位置是否不变?解:若是叶子结点,则在先、中、后序序列中的相对位置不变,其它结点未必。9给定二叉树先、中、后序序列中的任意两个,是否就可还原出二叉树?解:若给定的是先序和后序,则由于不能确定根,也就不能还原出二叉树( 不唯一 ) 。10如何由先序中序、后序中序还原出二叉树?解:由遍历方法以下几点是显然的:对前序序列,序列的第一个点就是整个二叉树的根;对后序序列,序列的最后一个点就是整个二叉树的根;对中序序列,以根为界,序列的前一部分结点在根的左子树中,后一部分结点在根的右子树中;并且,由前一部分构成的子序列是
10、左子树的中序序列,由后一部分构成的子序列是右子树的中序序列。若给定了前序和中序序列,反复利用上面的和,就可获得结点完整的逻辑信息,即由前序序列找到根,由中序序列得到左、右子树;再在对每个子树由前序序列找到子树的根,由中序序列得到子树的左、右子树,等等类推,每次都可得到一个点( 子树的根 ) ,从而逐渐获得树的全部信息,也就可以还原和构造出该二叉树。这个过程参见下图。中序遍历序列:左子树根右子树前序遍历序列:左子树根右子树根根pspeisiei例:已知二叉树的中序和后序序列分别为:BCDAFEHJIG 、DCBFJIHGEA ,画出该二叉树。解:由后序序列可知,整个二叉树的根为A,再从中序序列找
11、到结点A,其左边为BCD ,对应A 的左子树,右边为FEHJIG,对应根的右子树。对每个子树进行同样分析即可画出此二叉树。比如对左子树BCD ,从原后序序列可找到它对应的后根序列为DCB ,于是左子树的根为B ,然后再由中序序列BCD可知 B的左子树为空,CD在 B的右子树,等等继续下去,直到每个结点都画出来。11完全二叉树的深度为1nlog2或1)(nlog2,是否是说深度有两种可能?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 8 页4 / 8 解:只一种,它们的具体值相等。12树的常用存储方法有哪些?如何将树转换为二叉树?树的遍
12、历与对应二叉树的遍历有何关系?13怎样知道线索二叉树某结点是否有左右孩子,是否为叶子?解:看结点的线索标志位,比如左线索标志位ltag=1则无左孩子,左右线索标志位都为1 则为叶子。14如何画中序、先序、后序线索二叉链表?线索二叉链表是否就没有空指针了?解:以中序线索二叉链表为例,下列二叉树的中序线索二叉链表如图所示。详细过程见课本。ABCDEFC11B00D11E01A00F11NULLNULL15线索二叉树上求结点的前趋和后继时,是否可不再需要遍历了?16什么是前缀码?17哈夫曼树如何构造?WPL 如何求?其结点总数可以为1000 吗?其中有度1结点吗?解:哈夫曼树的结点总数为2n-1 ,
13、必为奇数,不可能为偶数。其中n 为叶子数。构造过程是每次两个结点合并,故不会出现度1 的结点。18例:求二叉树中度为1的结点数。解:设二叉树结点类型为bitree,函数名为sum1 ,函数返回结点数。int sum1(bitree t) int L,R。if(t=NULL) return 0。/ 当前树为空,递归出口L= sum1(t-lchild)。/ 求左子树中相应结点数R= sum1(t-rchild) / 求右子树中相应结点数if(t-lchild=NULL & t-rchild!=NULL) | (t-lchild!=NULL & t-rchild=NULL) / 当前结点度为也1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构复习提纲计算机本科 2022 数据结构 复习 提纲 计算机 本科
限制150内