2022年数据结构知识点归纳 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年数据结构知识点归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构知识点归纳 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习必备欢迎下载一、数据结构的章节结构及重点构成数据结构学科的章节划分基本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,内排,外排,文件,动态存储分配。对于绝大多数的学校而言,“ 外排,文件,动态存储分配” 三章基本上是不考的,在大多数高校的计算机本科教学过程中,这三章也是基本上不作讲授的。数据结构的章节比重大致为:1.概论: 概念,时间复杂度。2.线性表 :基础章节,必考内容之一。概念,算法设计题。3.栈和队列 :基本概念。4.串 :基本概念。5.多维数组及广义表: 基本概念。6.树和二叉树:重点难点章节,各校必考章节。概念,问答,算法设计题。7.图:重点难点章节
2、,各校必考章节。概念,问答,算法设计题。8.查找 :重点难点章节,概念,问答。9.排序 :重点难点章节,问答各种排序算法的排序过程二、各章节的主要内容:第一章概述主要内容:本章主要起到总领作用,为读者进行数据结构的学习进行了一些先期铺垫。大家主要注意以下几点: (1)数据结构的基本概念。(数据;数据元素;数据项;数据结构;数据的逻辑结构:线性和非线性,具体分为集合、线性结构、树形结构和图状结构;数据的存储结构:顺序存储和链式存储;运算)(2)算法的度量:时间效率和空间效率,分别用时间复杂度和空间复杂度度量,掌握时间复杂度的度量方法量方法。 (大 O 表示法)参考题目:填空题:1、数据结构是相互
3、之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容,分别是数据的逻辑结构、 ()和() 。2、数据结构按逻辑结构可分为两大类,它们分别是() 和()3. 数据的物理结构主要包括()和()两种情况。4线性表,栈,队列和二叉树四种数据结构中()是非线性结构, ()是线性结构。5、线性结构中元素之间存在()关系,树形结构中元素之间存在()关系,图形结构中元素之间存在()关系。6、程序段的时间复杂度是_。for(i=1;i=n;i+) k+; for(j=1;j=n;j+) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 11 页学
4、习必备欢迎下载x=x+k; 7下列算法的时间复杂度是_。 for(i=0;im;i+ +) for(j=0;jn;j+ +) aij=i;8下列算法的时间复杂度是_。i=s=0; while(s next = NULL;Chead - next = head;Dhead ! = NULL;5、在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行()AS-next=P-next;P-next=S BP-next=S-next;S-next=P ;CP-next=P;P-next=S ;DP-next=S;S-next=P ;精选学习资料 - - - - - - - - - 名
5、师归纳总结 - - - - - - -第 2 页,共 11 页学习必备欢迎下载6、在已知头指针的单链表中,要在其尾部插入一新结点,其算法所需的时间复杂度为()A( 1)B( log2n)CO(n)DO(n2)7、在一个单链表中,已知q 所指结点是p 所指结点的直接前趋,若在p,q 之间插入s 结点,则执行的操作是() 。As-next=p-next;p-next=s; Bq-next=s;s-next=p; Cp-next=s-next;s-next=p; Dp-next=s;s-next=q; 8、设顺序线性表中有n 个数据元素, 则第 i 个位置上插入一个数据元素需要移动表中()个数据元素
6、,删除第i 个元素( 1in)时,需向前移动的元素的个数是()。在顺序表中插入一个元素,需要平均移动()元素,删除一个元素,需要平均移动()元素,具体移动的元素个数与()有关,插入删除操作的时间复杂度均为( )。9、设单链表的结点结构为(data,next) ,next 为指针域,已知指针px 指向单链表中data 为 x 的结点,指针py 指向 data 为 y 的新结点, 若将结点y 插入结点x 之后,则需要执行以下语句:() 。10 设 指 针 变 量p 指 向 单 链 表 中 结 点A 的 前 驱 结 点 , 若 删 除 单 链 表 中 结 点A, 则 执 行 操 作()三、算法设计:
7、1.设计算法,计算顺序表中数据元素为x 的元素个数。顺序表结构如下:typedef struct int data100; int length; sqlist; 函数首部为:int count(sqlist L, int x) 2设计算法,在顺序线性表中,删除顺序表中第i 个元素,顺序表结构同上题。函数首部为: int del(sqlist *L,int i) 3设计算法,在顺序线性表中,删除值为x 的元素。函数首部为:void delx(sqlist *L , int x) 4. 对给定的单链表L(元素各不相同),编写一个删除L 中值为 x 的结点的算法。链式结构如下:typedef st
8、ruct LinkList int data; struct LinkList *next; Node,*LinkList; int delx(LinkList *head ,int x) 5. 编写算法求带头结点的单链表的表长, 结构同上题。int count(LinkList *head) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 11 页学习必备欢迎下载第三章栈与队列主要内容:栈与队列,是很多学习DS的同学遇到第一只拦路虎,很多人从这一章开始坐晕车,一直晕到现在。栈和队列一章注意以下几个方面: (1)栈的定义及其相关数据结构
9、的概念:合法的出栈序列、出栈序列个数、顺序栈,链栈(2)队列的定义及其相关数据结构的概念,包括:循环队列。(3)栈和队列的特点:栈-后进先出;队列先进先出。(4)递归算法概念。栈与递归的关系,所有的递归算法都可以借助栈将递归转向于非递归算法。(5)操作:顺序栈的进栈、出栈操作。循环队列的队空、队满条件,出队、入队、求队列元素个数操作。参考题目:1. 循环队列是空队列的条件是()AQ . rear = = Q . front B (Q . rear + 1)%maxsize = = Q .front C Q . rear = = 0 DQ. front = = 0 2. 链栈与顺序栈相比,比较明
10、显的优点是()A通常不会出现栈满的情况B通常不会出现栈空的情况C插入操作更加方便D删除操作更加方便3. 若一个栈的输入序列是1,2,3, n,输出序列的第一个元素是,则第个输出元素是()An - i B n i + 1 Ci D不确定4. 对于一个栈,给定输入序列为1,2,3,则下列不可能为输出序列的是()A1,2,3 B3, 2,1 C3,1,2 D2,1,3 5. 栈是限定在()处进行插入或删除操作的线性表。A端点B栈底C栈顶D中间6. 当循环队列q 是满队列时, 存放队列元素的数组data 有 n 个元素, 则 data 中存放 ()个数据元素。An B. n-1 C. n-2 D.0
11、7. 循环队列用数组elem0 ,m-1 存放其元素值,已知其头尾指针分别是front和 rear ,则当前队列中的元素个数是 _ _。8栈的特点是,队列的特点是。9. 设栈 S 和队列 Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈,一个元素出栈后立即进入队列 Q,若 6 个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈 S的容量至少应该是_ _。10若用一个大小为6 的一维数组来实现循环队列,当前rear 和 front 的值分别是0 和 3,从队列中删除一个元素,再加入两个元素后,当前队列中共个元素, rear 的值为 _,front 的值为 _。第四章串主
12、要内容:最容易自学的章节之一本章注意:(1)串的基本概念:串(串是其元素均为字符型数据的特殊线性表),子串、空串与空格串的区别,串相等的条件、模式匹配。(2)串的定长顺序存储(3)串 的基本操作功能,如求串长,串连接,串替换等,给出一个字符串能够写出操作的结果。参考题目:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 11 页学习必备欢迎下载1串是一种特殊的线性表,其特殊性体现在( )。2S1=“ABCD” , S2= “CD”则 S2在 S1中的位置是()3假设 S=“abcaabcaaabca” ,T=“bca” , Index (
13、S,T,3) 的结果是( 6 )4设有 S1= ABCDEFG ,S2= PQRST ,函数 con(x, y)返回 x 和 y 串的连接串, subs(S,i, j)返回串 S的从序号 i 的字符开始的j 个字符组成的子串,len(s)返回串 s 的长度,则con(subs(S1,2,len(S2),subs(S1,len(S2),2)的结果是 _ _。5在串中, SubString (“student ”,5,2) 的结果是 _ _。4假设 S=“ abcaabcaaabca”,T=“ bca”,V=“ x”,Replace (S,T,V) 结果是 _ _。7两个串相等的充分必要条件是_
14、_ 且 _ _。8. 子串的定位操作通常称为。第五章数组与广义表主要内容:(1)多维数组中某数组元素的存储位置求解。一般是给出数组元素的首元素地址和每个元素占用的地址空间并组给出多维数组的维数,然后要求你求出该数组中的某个元素所在的位置。(2)明确按行存储和按列存储的区别和联系,并能够按照这两种不同的存储方式求解1 中类型的题。(3) 稀疏矩阵的压缩存储概念,三元组表和十字链表存储。(4)广义表的概念,理解广义表的递归特性,特别应该明确表头与表尾的定义。(5)广义表的存储特性-难以用顺序存储结构存储。能画出头尾表示法(6) 广义表的操作GetHead 和 GetTail,给出一个广义表能够写出
15、取表头和取表尾操作的结果。参考题目:1. 常对数组进行的两种基本操作是( )。A. 建立与删除B. 索引和修改C. 对数据元素的存取和修改D. 查找与索引2. 二维数组A 中,每个元素A 的长度为3 个字节,行下标i 从 0 到 7,列下标j 从 0 到 9,从首地址SA开始连续存放在存储器内,该数组按行存放时,数组元素A74 的起始地址为 ( )。A. SA+141 B. SA+144 C. SA+222 D. SA+225 3. 对稀疏矩阵进行压缩存储目的是_ _。4已知广义表:A=(a,b), B=(A,A), C=(a,(b,A),B),则 tail(head(tail(C) 运算的结
16、果为 _。5求下列广义表操作的结果:(1) GetTailGetHead(a,b),(c,d)=_ (2) GetTailGetHeadGetTail(a,b),(c,d) =_ 第六章树与二叉树主要内容:从对线性结构的研究过度到对树形结构的研究,是数据结构课程学习的一次跃变,此次跃变完成的好坏,将直接关系到你到实际的考试中是否可以拿到高分,而这所有的一切,将最终影响你的专业课总分。所以,树这一章的重要性,已经不说自明了。总体来说,树一章的知识点包括: (1)二叉树的概念、性质(性质非常重要)(2)二叉树的存储结构(顺序存储和二叉链表存储)精选学习资料 - - - - - - - - - 名师
17、归纳总结 - - - - - - -第 5 页,共 11 页学习必备欢迎下载(3)二叉树遍历的三种算法(给二叉树能写出遍历序列,根据遍历序列可以构造二叉树;遍历递归算法 (二叉树的其他算法很多都是在遍历的基础上得到的)、在三种基本遍历算法的基础上实现二叉树的其它算法(如求叶子结点、总结点、高度等,仔细揣摩求解思路)(4)线索二叉树的概念。 (利用二叉链表存储时的空链域指向前驱和后继,空链域个数;给出一棵二叉树能画出对应的线索二叉树,如P149图 6.16)(5)树、森林的概念,树与森林的遍历算法(给出树或森林,能写出其要求的遍历序列),树和森林的遍历算法与二叉树遍历算法的联系。(6)树与森林和
18、二叉树的相互转换。(7)最优二叉树的概念,哈夫曼树的概念,特点(只有 0 和 2 的结点),能够按指定权值建立哈夫曼树,给出哈夫曼编码,计算WPL。树一章,处处是重点,道道是考题,大家务必个个过关。参考题目:1、在具有n 个结点的完全二叉树中,结点i( i1)的父结点是()A2i B不存在C2i+1 D? i/2?2、下列陈述中正确的()A二叉树是度为2 的有序树B二叉树中结点只有一个孩子时无左右之分C二叉树中必有度为2 的结点D二叉树中最多只有两棵子树,并且有左右之分3、以二叉链表作为二叉树的存储结构,在具有个结点的二叉链表中(n0),空链域的个数为()A2n - 1 Bn - 1 Cn +
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构知识点归纳 2022 数据结构 知识点 归纳
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内