2022年数据结构知识点归纳.docx
《2022年数据结构知识点归纳.docx》由会员分享,可在线阅读,更多相关《2022年数据结构知识点归纳.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 学习必备 欢迎下载一、数据结构的章节结构及重点构成数据结构学科的章节划分基本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,内排,外排,文件,动态储备安排;对于绝大多数的学校而言,“外排,文件,动态储备安排”三章基本上是不考的,在大多数高校的运算机本科教学过程中,这三章也是基本上不作讲授的;数据结构的章节比重大致为:1. 2. 3. 4. 5. 6. 7. 8. 9.概论 : 概念,时间复杂度;线性表 :基础章节,必考内容之一;概念,算法设计题;栈和队列 :基本概念;串 :基本概念;多维数组及广义表: 基本概念;树和二
2、叉树:重点难点章节,各校必考章节;概念,问答,算法设计题;图: 重点难点章节,各校必考章节;概念,问答,算法设计题;查找 : 重点难点章节,概念,问答;排序 : 重点难点章节,问答各种排序算法的排序过程二、各章节的主要内容:第一章 概述主要内容:本章主要起到总领作用,为读者进行数据结构的学习进行了一些先期铺垫;大家主要留意以下几点 : (1)数据结构的基本概念; (数据;数据元素;数据项;数据结构;数据的规律结构:线性和非线性,具体分为集合、线性结构、树形结构和图状结构;数据的储备结构:次序储备和链式储备;运算)(2)算法的度量:时间效率和空间效率,分别用时间复杂度和空间复杂度度量,把握时间复
3、杂度的度量方法量方法; (大 O 表示法)参考题目:填空题:1、数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容,分别是数据的规律结构、 ()和();2、数据结构按规律结构可分为两大类,它们分别是() 和()3. 数据的物理结构主要包括()和()两种情形;4线性表,栈,队列和二叉树四种数据结构中()是非线性结构, ()是线性结构;5、线性结构中元素之间存在()关系,树形结构中元素之间存在()关系,图形结构中元素之间存在()关系;6、程序段的时间复杂度是 _;fori=1;i=n;i+ k+; forj=1;j=n;j+ 名师归纳总结 - - - - - - -第 1
4、 页,共 11 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载x=x+k; 7以下算法的时间复杂度是 _; fori=0;im;i+ + forj=0;jn;j+ + aij=i;_;8以下算法的时间复杂度是 i=s=0; whiles 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-
5、next=S;S-next=P;第 2 页,共 11 页- - - - - - -精选学习资料 - - - - - - - - - 学习必备 欢迎下载6、在已知头指针的单链表中,要在其尾部插入一新结点,其算法所需的时间复杂度为()A( 1)B( log2n)CO(n)DO(n 2)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、设次序线性表中
6、有 n 个数据元素, 就第 i 个位置上插入一个数据元素需要移动表中()个数据元素,删除第 i 个元素( 1in)时,需向前移动的元素的个数是();在次序表中插入一个元素,需要平均移动()元素,删除一个元素,需要平均移动()元素,详细移动的元素个数与()有关,插入 删除操作的时间复杂度均为 ;9、设单链表的结点结构为 data,next ,next 为指针域,已知指针 px 指向单链表中 data 为 x 的结点,指针py 指向 data 为 y 的新结点 , 如将结点 y 插入结点 x 之后,就需要执行以下语句 :();10 设 指 针 变 量 p 指 向 单 链 表 中 结 点 A 的 前
7、 驱 结 点 , 如 删 除 单 链 表 中 结 点 A , 就 执 行 操 作()三、算法设计:1.设运算法,运算次序表中数据元素为 x 的元素个数;次序表结构如下:typedef struct int data100; int length; sqlist; 函数首部为:int countsqlist L, int x 2设运算法,在次序线性表中,删除次序表中第 函数首部为: int delsqlist *L,int i i 个元素,次序表结构同上题;3设运算法,在次序线性表中,删除值为 x 的元素;函数首部为: void delxsqlist *L , int x 4. 对给定的单链表L
8、元素各不相同 ,编写一个删除L 中值为 x 的结点的算法;链式结构如下:typedef struct LinkList int data; struct LinkList *next; Node,*LinkList; int delxLinkList *head ,int x 5. 编写算法求带头结点的单链表的表长 , 结构同上题;int countLinkList *head 名师归纳总结 - - - - - - -第 3 页,共 11 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载第三章 栈与队列主要内容:栈与队列,是许多学习 DS的同学遇到第一只拦路虎,许多人从这
9、一章开头坐晕车,始终晕到现在;栈和队列一章留意以下几个方面 : (1)栈的定义及其相关数据结构的概念:合法的出栈序列、出栈序列个数、次序栈,链栈(2)队列的定义及其相关数据结构的概念,包括 :循环队列;(3)栈和队列的特点:栈-后进先出;队列先进先出;(4)递归算法概念;栈与递归的关系,全部的递归算法都可以借助栈将递归转向于非递归算法;(5)操作:次序栈的进栈、出栈操作;循环队列的队空、队满条件,出队、入队、求 队列元素个数操作;参考题目:1. 循环队列是空队列的条件是()A Q . rear = = Q . front B(Q . rear + 1)%maxsize = = Q .front
10、 C Q . rear = = 0 DQ. front = = 0 2. 链栈与次序栈相比,比较明显的优点是()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 是满队列时, 存放队列
11、元素的数组 data 有 n 个元素, 就 data 中存放 ()个数据元素;An B. n-1 C. n-2 D.0 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 和 fron
12、t 的值分别是 0 和 3,从队列中删除一个元素,再加入两个元素后,当前队列中共主要内容:最简洁自学的章节之一本章留意:第四章 串(1)串的基本概念:串(串是其元素均为字符型数据的特殊线性表),子串、空串与空格串的区分,串相等的条件、模式匹配;(2)串的定长次序储备(3)串 的基本操作功能,如求串长参考题目:,串连接,串替换等,给出一个字符串能够写出操作的结果;名师归纳总结 - - - - - - -第 4 页,共 11 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载1串是一种特殊的线性表,其特殊性表达在 ;2S1=“ ABCD” , S2=“ CD” 就 S2 在 S
13、1中的位置是()3假设 S=“ abcaabcaaabca” ,T=“ bca” , Index S,T,3 的结果是( 6 )4设有 S1=ABCDEFG,S2=PQRST,函数 conx, y返回 x 和 y 串的连接串, subsS,i, j返回串 S 的从序号 i 的字符开头的 j 个字符组成的子串,lens返回串 s 的长度,就 consubsS1,2,lenS2,subsS1,lenS2,2的结果是 _ _;5在串中, SubString “ student ” ,5,2 的结果是 _ _;4假设 S=“abcaabcaaabca,T=“bca ”,V=“x”,Replace S,
14、T,V结果是 _ _;7两个串相等的充分必要条件是 _ _ 且 _ _;8. 子串的定位操作通常称为;第五章 数组与广义表主要内容:(1)多维数组中某数组元素的储备位置求解;一般是给出数组元素的首元素地址和每个元素占用的地址空间并组给出多维数组的维数,然后要求你求出该数组中的某个元素所在的位置;(2)明确按行储备和按列储备的区分和联系,并能够依据这两种不同的储备方式求解 1 中类型的题;(3) 稀疏矩阵的压缩储备概念,三元组表和十字链表储备;(4)广义表的概念,懂得广义表的递归特性,特殊应当明确表头与表尾的定义;(5)广义表的储备特性-难以用次序储备结构储备;能画出头尾表示法(6) 广义表的操
15、作 GetHead 和 GetTail,给出一个广义表能够写出取表头和取表尾操作的结果;参考题目: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,
16、A,B,就 tailheadtailC 运算的结果为 _;5求以下广义表操作的结果:1 GetTailGetHeada,b,c,d=_ 2 GetTailGetHeadGetTaila,b,c,d =_ 第六章 树与二叉树主要内容:从对线性结构的讨论过度到对树形结构的讨论,是数据结构课程学习的一次跃变,此次跃变完成的好坏,将直接关系到你到实际的考试中是否可以拿到高分,而这全部的一切,将最终影响你的专业课总分;所以,树这一章的重要性,已经不说自明白;名师归纳总结 总体来说,树一章的学问点包括: 第 5 页,共 11 页(1)二叉树的概念、性质(性质特别重要)(2)二叉树的储备结构(次序储备和二叉
17、链表储备)- - - - - - -精选学习资料 - - - - - - - - - (3)二叉树遍历的三种算法(学习必备欢迎下载给二叉树能写出遍历序列,依据遍历序列可以构造二叉树;遍历递归算法 (二叉树的其他算法许多都是在遍历的基础上得到的)、在三种基本遍历算法的基础上实现二叉树的其它算法(如求叶子结点、总结点、高度等,认真揣摩求解思路)(4)线索二叉树的概念; (利用二叉链表储备时的空链域指向前驱和后继,空链域个数;给出一棵二叉树能画出对应的线索二叉树,如 P149图 6.16)(5)树、森林的概念,树与森林的遍历算法(给出树或森林,能写出其要求的遍历序列),树和森林的遍历算法与二叉树遍历
18、算法的联系;(6)树与森林和二叉树的相互转换;特点(只有 0 和 2 的结点),能够按指定权值建立哈夫曼树,(7)最优二叉树的概念,哈夫曼树的概念,给出哈夫曼编码,运算WPL;树一章,到处是重点,道道是考题,大家务必个个过关;参考题目:1、在具有 n 个结点的完全二叉树中,结点 i( i1)的父结点是()A2i B不存在 C2i+1 D. i/2.2、以下陈述中正确的()A二叉树是度为 2 的有序树B二叉树中结点只有一个孩子时无左右之分C二叉树中必有度为 2 的结点D二叉树中最多只有两棵子树,并且有左右之分3、以二叉链表作为二叉树的储备结构,在具有个结点的二叉链表中 n0,空链域的个数为()A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 数据结构 知识点 归纳
限制150内