2023年下半年计算机二级《数据结构与算法》基础考点知识二
【考点7】线性链表
线性链表是线性表的链式存储结构,数据结构中的每一个结点对应于一个存储单元,这种存诸单元称为存储结点,简称结点。结点由两部分组成:
(1)用于存储数据元系值,称为数据域;
(2) 用于存放指针,称为指针域,用于指向前一个或后一个结点。
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。链式存储方式既可用于表示线性结构,也可用于表示非线性结构。线性单链表中,HEAD 称为头指针,HEAD=NULL(或0)称为空表。
线性链表的基本运算:查找、插入、删除。
【考点 8】栈
1、栈的基本概念
栈是一种特殊的线性表,只允许在表的一端进行插入和删除的线性表;插入,删除的一端为栈顶,另一端为栈底;当表中没有元素时为空栈。栈是一种后进先出(或先进后出 Last In First Out)的线性表。栈具有记忆功能。栈的实例:火车调度,子弹夹。
2、栈的存储结构
顺序存储结构:用一组地址连续的存储单元即一维数组来存储:链式存储:用线性链表来存储;
3、栈的基本运算
(1)入栈运算,在栈顶位置插入元素;
(2)退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);
(3)读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。
【考点 9】队列
1.队列的基本概念
队列是一种特殊的线性表,只允许在表的一端插入,在另一端删除,允许插入的一端是队尾(rear),允许删除的一端为队头(front);当表中没有元素是空队列:队列是一种先进先出的线性表。(FIFO)
2、队列的存储结构
顺序存储:一维数组。
链式存储:线性链表。
3、队列的运算:
(1)入队运算:从队尾插入一个元素;(2)退队算:从队删除一个元素。
4、队列的顺序存储结构一般采用循环队列的形式。循环队列 s=0 表示队列为空;s=1 且front=rear表示队满。
5、计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加其容量即可。
【考点10】树的基本概念
树是一种非线性结构,是n个结点的有限集。当n=0时为空树,n>0时为非空树。结点的度:结点所拥有的子树的个数。
叶子结点:度为0的结点。
分支结点:除叶子结点以外的结点。
结点的层次:根结点在第一层,同一层上左右结点的子结点在下一层。
树的深度:所处层次最大的那个结点的层次。
树的度:树中所有结点的度的最大值。
【考点11】二叉树及其基本性质
1、二叉树的概念
二叉树是一种特殊的树形结构,每个结点最多只有两棵子树,且有左右之分不能万换,因此,二叉树有五种不同的形态。
2、二叉树的性质
性质1在二叉树的第k层上,最多有2k-1(k≥1)个结点。
性质2深度为m的二叉树最多有2m-1个结点。
性质3在任意一棵二叉树中,度为0的结点(叶子结点)总是比度为2的结点多一个。
性质4具有n个结点的二叉树,其深度不小于[logn]+1,其中[logn]表示为log2n的整数部分。
【考点12】满二叉树与完全二叉树
满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。
完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
满二叉树是完全二叉树,而完全二叉树一般不是满二叉树。
【考点13】完全二叉树的性质
性质1具有n个结点的完全二叉树的深度为[logzn]+1。
性质2完全二叉树中度为1的结点数为0或1.
1、前序遍历:先访问根结点、然后遍历左子树,最后遍历右子树:并且,在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历多5可得:ABCDFHEG。
2、中序遍历:先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。中序遍历图5可得:BAFHDCGE。
3、后序遍历:先遍历左子树、然后遍历右子树,最后访问根结点:并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。后序遍历图5可得:BHEDGECA。
【考点15】顺序查找
顺序查找是从表的一端开始,依次扫描表中的各个元素,并与所要否找的数进行比较。在下列两种情况下也只能采用顺序查找:
(1)如果线性表为无序表,则不管是顺序存储结构还是链式存储结构,只能用顺序查找。
(2)即使是有序线性表,如果采用链式存储结构,也只能用顺序查找。
【考点16】二分查找
二分查找的条件:(1)用顺序存储结构(2)线性表是有序表。
对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较 logzn 次,而顺序查找需要比较n次。
【考点17】排序
1、交换排序
(1)冒泡排序法,在最坏的情况下,冒泡排序需要比较次数为n(n-1)/2。
(2)快速排序法 ,在最坏的情况下,快速排序需要比较次数为n(n-1)/2。
2、插入类排序法:
(1)简单插入排序法,最坏情况需要n(n-1)/2次比较:
(2)希尔排序法,最坏情况需要 0(n15)次比较。(大写O是算法复杂度的表示方法)
3、选择类排序法:
(1)简单选择排序法,最坏情况需要 n(n-1/2次比较:
(2)堆排序法,最坏情况需要O(nlog2n)次比较。
相比以上几种(除希尔排序法外),堆排序法的时间复杂度最小。
本文标签:计算机等级考试二级2023年下半年计算机二级《数据结构与算法》基础考点知识二
转载请注明:文章转载自(http://www.jsjdj.net)
本文地址:http://www.jsjdj.net/erji_bk/2993.html
解锁即可开始刷题
并加入考生交流群
第一时间获取
计算机等级考试考试资讯