数据结构考试【临时抱佛脚】
文章平均质量分 67
【考试临时抱佛脚】系列文章针对于学习时间少、时间紧迫、想短时间迅速提升成绩的考生打造。无论你是自考或专升本,还是考研这个专栏都适合你,Let‘s go!
我是超越
精于高性能移动互联网系统架构、企业级系统架构,有多年的的团队管理经验
展开
-
【数据结构】考点 三十七: 算法阅读题--递归
递归调用是一种特殊的函数调用方式,在函数内部直接或间接地调用自身。递归调用通常用于解决那些可以分解为更小、更简单的子问题的问题,使得原问题的求解变得更为简单。递归的基本思想是将一个大规模的问题分解为若干个与原问题相似的规模较小的问题来求解,通常包含两个主要部分:递归基(递归终止条件)和递归步骤。原创 2024-05-10 09:08:03 · 403 阅读 · 0 评论 -
【数据结构】考点三十六 : 算法阅读题--链表
算法阅读题是涉及算法理解和分析的题目,通常出现在计算机科学、软件工程、数据结构、人工智能等课程的考试或练习中。这些题目可能要求你分析一个给定算法的时间复杂度、空间复杂度、正确性、效率等,或者要求你根据特定要求设计并实现一个算法。原创 2024-05-10 08:53:41 · 438 阅读 · 0 评论 -
【数据结构】考点 三十五:算法阅读题--顺序表
算法阅读题通常是给定一段算法代码或描述,然后要求阅读者理解代码的功能、逻辑、性能等方面,并据此进行答题。这类题目通常出现在计算机编程、数据结构、算法分析等相关课程或考试中。原创 2024-05-08 08:57:52 · 425 阅读 · 0 评论 -
【数据结构】C语言小白扫盲贴,看懂代码的关键!
代码小白看完此篇扫盲贴,基本C语言的代码就可以看懂了。。~原创 2024-04-30 09:34:28 · 817 阅读 · 0 评论 -
【数据结构】考点 三十四:B树(B-Tree)
B树(B-Tree)是一种自平衡的树,主要用于维护排序数据的有序性,以便进行高效的插入、删除和搜索操作。B树在计算机科学中是一种非常重要的数据结构,特别适用于磁盘或其他直接存取辅助设备的数据管理。原创 2024-04-29 09:37:47 · 721 阅读 · 0 评论 -
【数据结构】考点三十三 :二叉排序树
二叉排序树(Binary Sort Tree),又称为二叉搜索树(Binary Search Tree),是一种特殊的二叉树。在二叉排序树中,对于每个节点,其左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。这样的性质使得二叉排序树在查找、插入和删除操作中具有高效的性能。原创 2024-04-29 09:14:01 · 843 阅读 · 0 评论 -
【数据结构】考点三十二 : 二叉树之二分查找
二叉树之二分查找(Binary Search Tree, BST)实际上是一种特殊的二叉树,它满足对于树中的每个节点,其左子树中的所有节点的值都小于该节点的值,而其右子树中的所有节点的值都大于该节点的值。这种特性使得在二叉搜索树中进行查找、插入和删除操作都非常高效,时间复杂度通常是对数级别的。原创 2024-04-28 09:48:15 · 952 阅读 · 0 评论 -
【数据结构】考点 三十一: 树、森林、二叉树的转换
树、森林、二叉树之间的转换是数据结构和算法中的常见概念,它们之间可以通过一定的规则相互转换。原创 2024-04-28 09:15:38 · 198 阅读 · 0 评论 -
【数据结构】考点三十 :线索二叉树
线索二叉树是对普通二叉树的一种改进,它增加了指向前驱和后继的线索,使得在遍历二叉树时能够更加方便地访问前驱和后继节点。原创 2024-04-28 08:56:41 · 461 阅读 · 0 评论 -
【数据结构】考点二十九: 二叉树的遍历(含必杀技)
二叉树的遍历是二叉树操作的重要组成部分,其主要目的是按照某种规则访问二叉树中的所有节点,并确保每个节点仅被访问一次。常见的二叉树遍历方式有四种:前序遍历、中序遍历、后序遍历和层次遍历。原创 2024-04-26 16:42:17 · 503 阅读 · 1 评论 -
【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度
二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。原创 2024-04-25 15:36:02 · 1019 阅读 · 1 评论 -
【数据结构】考点 二十七:各种排序方法的稳定性
排序方法的稳定性是指相等元素在排序后保持原有的顺序不变。稳定的排序方法包括:基数排序、计数排序、插入排序、冒泡排序、归并排序等。不稳定的排序方法包括:选择排序、堆排序、快速排序、希尔排序等原创 2024-04-23 15:42:39 · 301 阅读 · 0 评论 -
【数据结构】考点二十六: 排序方法综合比较
几种常见的排序算法有:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序、基数排序等。原创 2024-04-23 14:01:30 · 371 阅读 · 0 评论 -
【数据结构】考点 二十五:归并排序算法
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。原创 2024-04-23 12:53:44 · 1167 阅读 · 1 评论 -
【数据结构】考点 二十四:快速排序算法
快速排序是一种分治算法,它将数据分为两个子集,其中一个子集的所有数据都比另一个子集的所有数据要小,然后递归地对这两个子集进行快速排序操作。原创 2024-04-23 11:22:22 · 1003 阅读 · 1 评论 -
【数据结构】考点二十三: 希尔排序算法
希尔排序(Shell Sort)是插入排序的一种更高效的改进版本,也称为“缩小增量排序”。它通过比较距离更远的元素来工作,然后逐渐减小增量,直到增量为1时,整个文件恰被分成一组,算法便终止。原创 2024-04-22 11:19:33 · 395 阅读 · 0 评论 -
【数据结构】考点二十二 : 堆排序算法
堆排序算法是一种基于堆这种数据结构所设计的一种排序算法,它是选择排序的一种,利用堆这种数据结构所设计的一种排序算法。堆排序算法可以分为两种:大顶堆和小顶堆。原创 2024-04-22 10:52:44 · 1132 阅读 · 0 评论 -
【数据结构】考点二十一 :冒泡排序算法
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。原创 2024-04-22 10:20:00 · 317 阅读 · 0 评论 -
【数据结构】考点十九:时间复杂度与空间复杂度
时间复杂度是一个函数,它定性描述该算法的运行时间。这个函数与算法输入值的字符串的长度有关,并不包括这个函数的低阶项和首项系数。时间复杂度常用大O符号表述,记作T(n)=O(f(n))。原创 2024-04-22 09:43:31 · 457 阅读 · 0 评论 -
【数据结构】考点二十 : 链表的操作(插入、删除、交换位置、判断是否为空、判断是否相邻)
单链表是一种线性数据结构,其中每个元素(通常称为节点)都包含一个数据域和一个指针域。数据域存储数据值,而指针域则存储指向下一个节点的引用。原创 2024-04-19 11:23:15 · 672 阅读 · 0 评论 -
【数据结构】考点十八 : 中缀表达式
中缀表达式转换为后缀或前缀表达式的过程通常称为表达式的求值,这需要用到栈stack)这种数据结构。具体转换过程涉及到运算符的优先级和结合性,以及括号的使用。原创 2024-04-19 10:34:58 · 245 阅读 · 0 评论 -
【数据结构】考点十七: 散列表(线性探查算法 + 二次探测法)
散列表(Hash Table),也称为哈希表或字典,是一种使用哈希函数组织数据结构,以便进行快速数据查找的数据结构。哈希表通过计算键(key)的哈希值(hash value),将键映射到哈希表中的一个位置,从而实现数据的快速存取。线性探查算法与二次探测法 是一种解决哈希冲突的方法。原创 2024-04-19 10:24:51 · 1771 阅读 · 1 评论 -
【数据结构】考点十六:稀疏矩阵压缩存储(三元组表)
稀疏矩阵压缩存储的三元组表法是指将非零元素所在的行号、列号和值存储在一个三元组表中,从而实现对稀疏矩阵的压缩存储。由于稀疏矩阵中非零元素的分布没有规律,因此在存储非零元素的同时,还必须存储该非零元素在矩阵中的位置信息,即行号和列号。原创 2024-04-19 09:41:39 · 484 阅读 · 0 评论 -
【数据结构】考点十五:广义表的表头和表尾
广义表的表头和表尾描述如下:表头 。当广义表不为空表时,第一个元素(可能为子表和原子)称为表头。表尾 。除去表头后,剩余元素组成的广义表称为表尾。例如,广义表S=(((a)),(b),c,(a),(((d,e)))),其中,表头为第一个元素(((a)),表尾为剩余元素组成的广义表,即((b),c,(a),(((d,e))))。原创 2024-04-19 09:19:13 · 1827 阅读 · 1 评论 -
【数据结构】考点十四:广义表的长度和深度
广义表的长度和深度定义如下:长度 。广义表的长度是指广义表中第一层所含的元素个数,包括原子和子表 。深度 。广义表的深度是指广义表中括号的最大层数,即最大嵌套次数 。例如,广义表L=((1,2,3)),其中长度为1,深度为2 。原创 2024-04-19 08:58:14 · 471 阅读 · 0 评论 -
【数据结构】考点十三:邻接表之无向图、有向图、强连通图
邻接表之无向图、有向图、强连通图概念如下:邻接表无向图 。是指通过邻接表表示的无向图,图中的每个顶点都包含一条链表,该链表记录了该顶点的邻接点的序号1。邻接表有向图 。是指通过邻接表表示的有向图,图中的每个顶点都包含一条链表,该链表记录了该顶点所对应的出边的另一个顶点的序号。强连通图 。是有向图的概念,表示任意两个顶点a和b,a能够连接到b,b也能连接到a的图。有N个顶点的强连通图,至少有N条边,最多有N(N-1)条边。原创 2024-04-18 12:52:36 · 1086 阅读 · 0 评论 -
【数据结构】考点十二:邻接矩阵的顶点、边
邻接矩阵的顶点表示图中的每个节点,边表示节点之间的关系。对于一个具有n个顶点的图G=(V,E),邻接矩阵是一个n×n的矩阵A,其中的行和列分别对应着图中的每个顶点。原创 2024-04-18 12:20:53 · 392 阅读 · 0 评论 -
【数据结构】考点十一:图的顶点、度数、边
1)边数=顶点之和/2(握手定理)2)在讨论图的时候不允许有重复边。3)最小的连通图就是最小生成树,为n-1。4)最大边的数量为:n(n-1) / 2。原创 2024-04-18 11:19:40 · 645 阅读 · 0 评论 -
【数据结构】考点十:栈的序列
栈(Stack)是一种具有特定操作约束的数据结构,它遵循后进先出(Last In First Out,简称LIFO)的原则。这意味着最后一个被放入栈中的元素将是第一个被取出的元素。栈的主要操作包括入栈(push)、出栈(pop)、查看栈顶元素(top 或 peek)以及检查栈是否为空(is_empty)。栈的序列描述通常指的是栈的两种重要序列:入栈序列和出栈序列。原创 2024-04-18 10:33:44 · 391 阅读 · 0 评论 -
【数据结构】考点九:二维数组存储地址计算
二维数组在计算机内存中是以行优先(或列优先,取决于编程语言和编译器实现)的方式存储的。为了计算一个二维数组中元素的存储地址,我们需要知道数组的行数、列数、每个元素的大小(字节数),以及该元素在数组中的行索引和列索引。原创 2024-04-18 10:18:46 · 1923 阅读 · 0 评论 -
【数据结构】考点八:最短路径之迪杰斯特拉算法
迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。该算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。原创 2024-04-18 09:54:40 · 371 阅读 · 0 评论 -
【数据结构】考点六:图的邻接矩阵(二)
1、先看是不是关于对角线对称,不对称是有向图(带箭头)。2、然后在矩阵里找【交点】,从第一行开始,有交点就连上一条线,直到把所有的交点连完为止。3、图的排列形式不是唯一的,只要点连对了就行。原创 2024-04-18 09:22:12 · 358 阅读 · 0 评论 -
【数据结构】考点七:最小生成树之克鲁斯卡尔算法
克鲁斯卡尔(Kruskal)算法是一种用于找到加权无向图的最小生成树的算法。这个算法基于并查集数据结构,通过不断选择图中权重最小的边,并检查它是否会与已选择的边构成环,来决定是否将这条边添加到最小生成树中。原创 2024-04-18 09:36:28 · 338 阅读 · 0 评论 -
【数据结构】考点五:图的邻接矩阵(一)
图的邻接矩阵是表示顶点之间相邻关系的矩阵。邻接矩阵对于有向图和无向图都适用,同时也适用于带权图和非权图。对于无向图,邻接矩阵显然是对称矩阵。原创 2024-04-17 18:58:09 · 337 阅读 · 0 评论 -
【数据结构】考点四:图的拓扑序列
图的拓扑序列是图中节点的一种有序排列,它使得对于每一条有向边,边指向的节点都出现在该有序排列中较早的位置。换句话说,如果有一条从节点A到节点B的有向边,那么A必须先于B出现在拓扑序列中。拓扑序列只存在于有向无环图中,并且可能有多个。原创 2024-04-17 18:45:09 · 422 阅读 · 0 评论 -
【数据结构】考点三:图的广度遍历
图的广度优先遍历(Breadth First Search)基本思想是:从图的某一顶点出发,首先访问该顶点,然后访问它的所有未被访问的邻接点,再对这些邻接点分别访问它们的未被访问的邻接点,重复此过程,直到所有顶点都被访问过为止。广度优先遍历类似于树的层次遍历。原创 2024-04-17 16:21:32 · 406 阅读 · 0 评论 -
【数据结构】考点二:图的深度遍历
图的深度优先遍历(Depth First Search)类似于二叉树的先序遍历。基本思想就是:**首先访问出发点v(可以是任意的),并将其表记为已访问;然后选取与v邻接未被访问的任意一个顶点w,并访问他;再选取与w邻接的未被访问的任意一点并访问,依次重复进行。原创 2024-04-17 16:04:58 · 479 阅读 · 0 评论 -
【数据结构】考点一:哈夫曼树和哈夫曼编码
哈夫曼树又称为最优二叉树,是一种带权路径长度最短的二叉树。哈夫曼编码是哈夫曼树的一个应用,是根据哈夫曼树生成的二进制编码。原创 2024-04-17 15:33:50 · 469 阅读 · 0 评论