数据结构
文章平均质量分 87
不要数手指啦
这个作者很懒,什么都没留下…
展开
-
堆的初级理解
在实际应用中,最大堆和最小堆的选择取决于具体问题的需求。如果需要频繁地查找和删除最大元素,那么最大堆是一个很好的选择;如果需要频繁地查找和删除最小元素,那么最小堆则更为合适。原创 2024-02-21 12:19:14 · 1035 阅读 · 0 评论 -
迪杰斯特拉算法
这个时候我们又可以继续往下看,在这一系列过程当中,出发点中只有1和7,还没有被标记,并且他们的出发点是有值的,这个时候我们可以发现出发点最小值是1位置的,我们就把1号位置也标记下来。这个时候我们可以推出他的路径,从4开始往前推,4的前一个点是5,5的前一个点是6,6的前一个点是7,7的前一个点是0,这个时候我们就推出来了,这条路是0->7->6->5->4.2.计算刚加入节点A的邻近节点B的距离(不包括标记的节点),若节点A的距离+节点A到B的边长<节点B的距离,就更新节点B的距离和前面点。原创 2024-02-18 21:40:46 · 2433 阅读 · 0 评论 -
队列的实现及注意事项
头文件定义 成员函数为队列里面所有的元素都加或减一个常数值。原创 2024-02-17 11:08:59 · 642 阅读 · 1 评论 -
二叉树的遍历题型
农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号。每一头奶牛的姓名被译为一个唯一的字母。(你可能已经知道你可以在知道树的两 种遍历以后可以经常地重建这棵树。)显然,这里的树不会有多于 2626 个的顶点。原创 2024-02-16 12:14:28 · 513 阅读 · 1 评论 -
二叉树基础总结
树(层级结构)是一种重要的非线性数据结构(递归的数据结构),它由n(n≥0)个有限节点组成一个具有层次关系的集合。这些节点具有如下特性:(在一个有效的树中,如果有n个节点,就会有n-1条边。每个节点有零个或多个子节点。没有父节点的节点称为根节点。根:树的最顶部的节点,唯一没有双亲的节点。每一个非根节点有且只有一个父节点。除了根节点外,每个子节点可以分为多个不相交的子树。树的术语结点:使用树结构存储的每一个数据元素都被称为“结点”。森林:多棵互不相交的树的集合称为森林。原创 2024-02-14 21:49:57 · 2753 阅读 · 2 评论 -
基础链表代码实现
实现一个数据结构,维护一张表(最初只有一个元素 1)。原创 2024-02-13 23:31:29 · 1683 阅读 · 3 评论 -
单链表基础知识点
单链表插入和删除算法其实都是由两部分组成:第一部分就是遍历查找第i个元素;第二部分就是插入和删除元素。对于插入或删除数据越频繁的操作,单链表的效率优势就越是明显。原创 2024-02-12 22:55:00 · 546 阅读 · 1 评论 -
线性表的链式存储结构
线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这些存储单元可以是连续的,也可以是不连续的。这就意味着这些数据元素可以存在内存未被占用的任意位置。以前在顺序结构中,每个数据元素只需要存数据元素信息就可以了。现在链式结构中,除了要存数据元素信息外,还要存储它的后继元素的存储地址。为了表示每个数据元素 ai与其直接后继数据元素 ai+1之间的逻辑关系,对数据元素 ai 来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。原创 2024-02-12 20:33:56 · 1060 阅读 · 1 评论 -
线性表的顺序储存结构
线性表:零个或多个数据元素的有限序列。序列,说明元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有且仅有一个前驱和后继。所以线性表的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an 是最后一个数据元素,ai是第i个数据元素,称i为数据元素a在线性表中的位序。在较为复杂的线性表中,一个数据元素可以由若干个数据项组成。原创 2024-01-28 21:37:49 · 1144 阅读 · 0 评论 -
数据结构与算法关系(基础总结)
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。(为了解决某个或某类问题,需要把指令表示成一定的操作序列,操作序列包括一组操作,每一个操作都完成特定的功能,这就是算法了。指令是指能被人或机器等计算装置执行。它可以是计算机指令,也可以是我们平时的语言文字。原创 2024-01-25 14:54:45 · 1292 阅读 · 1 评论 -
数据结构最最基础知识点梳理总结
集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系(类似数学中的集合)。线性结构:数据元素之间是一对一的关系。树形结构:数据元素呈现一对多的关系。图形结构:数据元素呈现多对多的关系。在C语言中,按照取值的不同,数据类型可以分为两类:1.原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。2.结构类型:由若干个类型组合而成,是可以再分解的。例如,整型数组是由若干整型数据组成的。抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。原创 2024-01-23 22:29:56 · 406 阅读 · 0 评论