![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
白开水都有人用
这个作者很懒,什么都没留下…
展开
-
数据结构--查找
又称二分查找,适用于有序的顺序表基本思想:将值与中间的数值相比,若相等则查找成功,返回该元素的存储位置,若不等在缩小的范围继续查找缩小范围:有low指针,指向下界就是小的数,high指针指向上界就是大的数,mid指向中间的数min=(low+high)/2(向下取整)如果low>high了就是查找失败了左子树节点值...原创 2022-06-27 23:06:10 · 81 阅读 · 0 评论 -
数据结构 --- 查找
又称二分查找,适用于有序的顺序表基本思想:将值与中间的数值相比,若相等则查找成功,返回该元素的存储位置,若不等在缩小的范围继续查找缩小范围:有low指针,指向下界就是小的数,high指针指向上界就是大的数,mid指向中间的数min=(low+high)/2(向下取整)如果low>high了就是查找失败了左子树节点值...原创 2022-06-27 23:05:01 · 82 阅读 · 0 评论 -
数据结构--图
连通图与强连通图十字链表法(只能存储有向图)注意:顶点之间是顺序存储的邻接多重表(只适用无向图 )注意: 有prim(普利姆)算法和kruskal(克鲁斯卡尔)算法 Prim算法:选点 Kurskal算法:选边 BFS算法(广度优先算法):可以求无向图的最短路径(单源最短路径:只有一个源头到其他的地方,不考虑回来 ,只考虑去) BFS算法---代码实现 步骤1 步骤2 步骤3 步骤4 :求出每一对顶点之间的最短路径, 第一原创 2022-06-12 21:02:03 · 73 阅读 · 0 评论 -
数据结构--树,森林
树的存储方式:1.双亲表示法 2.孩子表示法3.孩子兄弟表示法(这个常考)1.双亲表示法:用一组连续空间来存储每个节点,每个节点中加一个尾指针,指向父母节点,根节点下标为0,节点的尾指针指向 顺序存储表中的位置。孩子表示法:也是顺序存储,把孩子链接到 父节点上,寻找子女很方便,但是寻找双亲要遍历n个节点孩子兄弟表示法:左孩子,右兄弟森林和二叉树的转换:左孩子右兄弟树和森林的遍历树的遍历:1)先根遍历。2)后根遍历, 1)树非空,先访...原创 2022-05-30 16:56:44 · 139 阅读 · 0 评论 -
数据结构--二叉树的线索化
中序线索化--代码实现、一边遍历,一边线索化注意:1.非空二叉树才能线索化 2.无论是先序,中序,后序 都要在最后 处理最后一个节点,rchild=null,rtag = 0为什么线索化?答:为了找前驱和后继全部的代码实现先序线索化--代码实现注意:在遍历的时候,会有一个问题,你在线索化后,你的D节点 线索指向前驱的时候,然后,去看G,G线索没有问题,当你回到B时发现,B的左子树依然有 子树,就会去线索化B,B已经线索化过了,就会一直转圈圈。 ...原创 2022-05-25 22:46:48 · 787 阅读 · 1 评论 -
数据结构--中缀,后缀,前缀的转换
中缀转后缀你的后缀符号从左到右的次序,和中缀优先级是一样的注意: 遵从左优先原则后缀表达式的手算方法,从左向右看,每遇到一个一个运算符,就让运算符前面的两个数进行运算,合成一个操作数。后缀表达式的 机算,算出值中缀转前缀手动模拟,这是求 前缀表达式 是一个式子使用右优先,写完的前缀表达式是 从右向左机算中缀表达式转后缀表达式 (机算)算的是 后缀表达式,不是一个值带括号的中缀表达式的机算(用栈实现)..原创 2022-05-12 19:15:33 · 769 阅读 · 0 评论 -
数据结构--顺序栈
1.顺序栈的定义注意此时 你的初始化中,你的指针是从-1开始,还是从0开始,这两个的操作是不一样的声明栈时,分配内存,就是在主方法中写,变量时从-1开始的时候 添加数据,先判断栈满,在移动指针,在放数据初始化 指针从0开始,你先判断栈满,然后放数据,在移动指针你的进栈和出栈栈的链式存储结构 和单链表类似 注意:所有的操作都是在单链表的表头进行的,对于带头节点和不带头节点的操作有一定的区别。队列 ...原创 2022-05-09 23:16:29 · 269 阅读 · 0 评论 -
数据结构——线性表
SqlList L;这一步就是在内存中开辟了 一块地址连续的存储单元,InitList() 初始化方法中,可以不用对开辟的存储单元进行初始化,但是必须要对其长度进行初始化原创 2022-04-30 16:18:51 · 823 阅读 · 0 评论 -
数据结构——线性表的顺序表示
//// Created by 10841 on 2022/2/11.// 顺序表就是线性表的顺序表示出来,可以当数组理解//顺序表 : 顺序表是地址连续的存储单元 依次存取线性表的数据元素#include <iostream>using namespace std;#define MAXSIZE 10//定义学生 类型typedef struct Student{ char ID [20];// 没有string类型 char Name[20];}...原创 2022-02-21 18:59:44 · 377 阅读 · 0 评论 -
队列的链式表示和实现
#include <iostream>/* run this program using the console pauser or add your own getch, system("pause") or input loop *///定义节点typedef struct Qnode{ int data; Qnode *next;}Qnode,*NodePtr;//定义链队列typedef struct{ // 可以理解为java 中的嵌套 ...原创 2021-11-01 15:18:16 · 311 阅读 · 0 评论 -
C 数据结构 代码版 队列的链式表示
#include <iostream>/* run this program using the console pauser or add your own getch, system("pause") or input loop *///定义节点 typedef struct Qnode{ int data; Qnode *next;}Qnode,*NodePtr;//定义链队列typedef struct{ // 可以理解为java 中的嵌套 NodePtr fr.原创 2021-11-01 15:21:45 · 91 阅读 · 0 评论