- 博客(11)
- 收藏
- 关注
原创 Prim 算法与 Dijkstra 算法
图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
2023-06-12 16:15:21
107
1
原创 二叉树的创建与遍历
二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。以下代码将从二叉树的创建以及对他进行层序遍历、先序遍历、中序遍历、以及后续遍历进行。
2023-06-12 15:49:18
83
原创 数据结构之链队列
队列的主要特点就是先进后出,将他变为链表的话需要有一个头指针和尾指针,头指针指向header,尾指针指向链表尾部,从尾部插入,从头部删除,这样就可以实现链队列了。
2023-04-24 21:41:29
54
原创 栈的应用——括号匹配
括号匹配即让()一对,[]一对,{}一对进行匹配。代码原理就是看到左括号就入栈,看到右括号就弹出栈顶元素并进行比较看是否配对,若不配对或者栈为空则括号不匹配,若到最后栈为空则括号匹配,否则不匹配。
2023-04-24 21:05:42
48
原创 汉诺塔问题
在对变量进行命名时,不应该无脑的a,b,c,d,这样再次阅读该代码时很容易不知道这些名称所代表的意义,我们应该命名时就给它富有意义,一般都为其英语名称,有个小技巧,当你不知道如何命名时,就在翻译软件上翻译它的英文。在解一个问题时,我们应该把它拆解为几个不同的大块,即分几步进行,汉诺塔问题可以分为三步,先将n-1个圆盘放到过渡柱子上,再把最大的放到目标柱子上,最后再将过渡柱子上的圆盘放到目标柱子上。在运行中,在函数调用时,paraN的值相同时,实参的地址也相同,空间复杂度为O(n).
2023-04-24 16:37:47
105
原创 数据结构线性表总结
而链式存储则是要用时才进行取,然而它对一个数据存储所占的内存是要大于顺序存储的,但是这一些对系统来说影响不大。在课堂上我们还使用了静态链表,我们人工的划分一块区域,用整数代表指针,指向它下一个结点,并用一个数组赋值为0或1代表此地是否被占领,可以让我们很好的感受到系统是如何运作的。----------------同时链式存储也衍生了其他的链表结构,例如当我想要知道一个结点的上一个结点的数据是什么,我们需要在增加一个指针指向它的父结点。还有一种首尾相连,没有特定的头结点的链表我们称之为循环链表。
2023-04-19 20:51:48
52
原创 数据结构之多项式和
多项式可表示为多个系数的指数之和,我没可以用链表存储系数与其指数,按指数从小到达排列,当两个链表相加时,通过比较两个链表的结点的指数大小,谁小谁排在前面,相等时则相加,等于零时则跳过。
2023-04-10 20:52:00
89
原创 数据结构之静态链表
静态链表即人工划分一片区域,我们在上面用next指向下一个结点的数组下标,再用used数组来表示该位置是否被占领,与动态链表有着异曲同工之妙。
2023-04-10 19:57:36
50
1
原创 数据结构_链式存储
顺序存储的链表在处理数据量变化较大时,会存在数组申请内存不够或申请内存过多而造成的浪费,因此我们需要一个可以即用即申,不用则直接释放内存的存储结构——链式存储。先讲废话,再上代码。
2023-04-01 14:14:45
59
原创 线性链表(1)
/sequentialInsertTest是sequentialListInsert的单元测试函数。//sequentialDeleteTest与sequentialListDelete配套。//sequentialListInit 用于初始化顺序表。//outputMemory观察数据在内存的具体位置。//sequentialListDelete 删除。//sequentialListInsert 添加。//outputList 打印顺序表方便观察。//main函数越少越好。
2023-03-25 15:43:17
39
原创 数据结构(第一节)
在课堂上,我明白了原来各个数据原来不完全是一个一个的,有时候,他们之间是有联系的,比如顺序存储、链式存储、树存储已及图存储。而链式存储就是打破这些顺序存储的固定顺序,使用间接的指针指向下一个数据;这句话给了我不少启示,其实简单与困难的是无所谓的,跟着自己兴趣走,不断钻研,总能会有出路的。我在之前就知道数据结构很难,但是老师的口中好像它就那么回事,这也大大增加了我的信心,让自己变笨、变得执着、变得更加沉稳,努力拿下数据结构。第一节课学习了数据结构这本书的绪论,虽然懵懵懂懂,什么也不会。
2023-03-22 15:47:41
361
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人