自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 Vue项目搭建

vscode创建vue项目,常见报错及解决方法

2022-11-19 09:27:29 1484

原创 包含min函数的栈(JZoffer)

使用vector模拟栈,寻找min的时候遍历一遍即可;使用两个栈,一个正常存储,一个栈用来把最小元素(存在栈中的)维持到栈顶

2022-11-08 01:04:56 158

原创 字符串的排列(剑指offerDFS)

思路1:使用DFS遍历字符串,进行字符交换,每次都先和自己交换,然后再和后面的字符依次交换,通过for循环来将已经处理过的字符排除掉(即下标往后移动)

2022-11-01 09:44:51 106

原创 倒数最后k个结点

将结点放入vector中,然后翻转,直接返回第k-1个元素即可(注意下标越界)

2022-10-23 23:53:24 130

原创 链表中环的入口结点(剑指)

首先用快慢指针判断是否有环,若有环,则快慢指针会相遇,记录相遇结点,让新指针p1从头出发,相遇结点指针p2也出发,再次相遇时即是入口结点

2022-10-17 23:35:02 58

原创 二叉树的下一个节点(剑指offer)

根据二叉搜索树的特点,比如3,5,4;4 就是父节点,3是左孩子,5是右孩子,可以总结出以下几点

2022-10-05 00:11:29 113

原创 栈的压入,弹出序列(剑指)

使用栈来模拟出栈与入栈;入栈后判断出栈序列与当前栈顶元素是否相同,若相同则出栈并且继续判断,否则继续入栈;最后判断栈是否为空即可

2022-09-26 15:39:27 82

原创 从上往下打印二叉树(剑指offer)

剑指offer,题目从上往下打印二叉树

2022-09-19 15:30:23 69

原创 MySQL云数据压测报错

MySQL云数据库压测时常见错误以及解析

2022-09-11 23:52:10 494

原创 MySQL基础知识

mysql简单入门

2022-08-29 23:36:58 233

原创 二叉树中和为某一值的路径(一)

二叉树中和为某一值的路径

2022-08-23 12:10:18 139

原创 数字在升序数组中出现的次数(剑指offer)

数字在升序数组中出现的次数,简单易懂

2022-08-16 00:39:54 94

原创 连续子数组的最大和(剑指offer)

连续子数组的最大和,即滑动窗口的求解

2022-08-01 16:09:39 95

原创 剑指offer题目-树的子结构

思路1采用递归的想法对比pRoot2是否是pRoot1的子结构,判断当前根结点的值是否相同,进而往左子树判断,以及右子树,同时都相同则是子结构(没有左右子树默认相同),主函数就有3种情况,1.子结构就在当前根结点,2.子结构在当前根结点的左子树中,3.子结构在当前根结点的右子树中,如果都没有则返回false。...

2022-07-25 14:35:49 95

原创 剑指offer链表中环的入口结点

剑指offer 链表中环的入口结点

2022-07-18 14:24:20 84

原创 非递归遍历的二叉树

非递归遍历二叉树,详细解释

2022-07-11 01:44:00 49

原创 ​​编译原理期末复习

编译原理期末复习

2022-07-02 21:03:24 825

原创 二叉树中两个节点的最近公共祖先

牛客题解

2022-06-05 23:46:13 59

原创 Anaconda配置说明

Anaconda配置说明基本指令查看已有的虚拟环境conda env list退出当前虚拟环境conda deactivate删除虚拟环境conda remove -n <env_name> --allconda remove --name <env_name> --all原神自动钓鱼项目ysfish以管理员权限打开Anaconda Prompt!!!以管理员权限打开Anaconda Prompt!!!以管理员权限打开Ana

2022-05-29 23:49:46 1407

原创 BFS广度优先遍历

其思想是从一个顶点开始,辐射状地优先遍历其周围较广的区域。也可以类似树的层次遍历即用到队列来实现BFS结点结构 图: 点集 边集 点数 边数 队列: 数据数组 长度 前后索引方法图的基本方法循环队列的基本方法B...

2021-09-11 21:42:21 86

原创 Kruskal算法

kruskal算法的思想简单说来就是:每次选择图中最小边权的边,如果边两端的顶点在不同的连通块中,就把这条边加入最小生成树中为此,我们需要将边权值进行排序结点结构图: 点集---数据类型据需求而定 边集---结构体数组 点数 边数边集: from---出发的节点 to---到达的结点 weight---权值对权值进行排序这里我们采用冒泡排序;当然也可以用其他的...

2021-09-04 10:58:36 76

原创 Prim算法

Prim算法又称为加边法,即每次选择最小权值的边加入到生成树中,然后再更新权值,如此反复,保证每次最优来达到最优解。特点是时刻维护一棵树,算法不断加边,加的过程始终是一棵树节点结构1.图的结点结构 图的顶点集 图的邻接矩阵 顶点个数 边的个数2.结构体数组 adjvex---代表到当前下标的顶点 lowcost---代表到当前下标顶点的权值Prim我们把节点分为两大块;一...

2021-08-28 15:30:56 811

原创 DFS深度优先遍历

所谓DFS就是指:优先考虑深度,换句话说就是一条路走到黑,直到无路可走的情况下,才会选择回头,然后重新选择一条路。图的节点结构1.点集(包含图里面所有的点)2.边集(邻接矩阵,点与点之间是否可达)3.点的数目4.边的数目初始化图除了初始化图自己,还有分配堆空间,因为节点结构里面有一维数组和二维数组;那就涉及到一位数组和二维数组的动态分配;点的数目由传入的个数决定,边的数目初始化为0创建图创建的过程其实也是遍历的过程,在循环之中将点赋值给图的点集,将邻接矩阵的值赋给边集

2021-08-21 22:21:15 119

原创 BST二叉排序树与AVL平衡二叉树

什么是二叉排序树呢?上图就是一棵标准的二叉排序树,比如序列:43,2,98,0,4,5;以前序遍历为例:先入43,再入2,(2比43小,则放在43的左边),再入98,(98比43大,则放在43右边),再入0,(0比43小放在2那边,0比2小,放在2左边),再入4,(4比43小,放在2那边,4比2大,放在2右边),再入5,(5比43小,5比2大,5比4大,放在4的右边)总结:大的数据放在当前根结点的右边,小的数据放在左边BST_insert也是按照这个规则来插入,即插入的数据小,就放在左边,...

2021-08-14 14:19:45 81

原创 非递归遍历二叉树

我们利用栈来实现遍历二叉树二叉树的创建依然是通过递归实现的,此外我们需要建立一个链栈来压入或弹出每一个元素先序遍历1.进栈之前先访问该结点,visit();2.再继续找其左孩子,直到为NULL为止,然后出栈该元素3.再判断刚刚出栈元素有没有右孩子,若没有,则继续出栈;若有,则先访问,再进栈4.若没有右孩子,则出栈;若有,则先访问,再进栈5.循环下去...void preOrder(TreeNode* T){ //因为要遍历树,所以设置工作指针 TreeNode* no

2021-08-07 17:03:32 81

原创 线索二叉树

中序线索二叉树线索二叉树就是在原本的二叉树中将其空的指针域赋上前驱指针或者后继指针中序遍历:左->根->右①当指针域不为空,向左进行遍历,找到最左边的结点②如果该结点的右孩子为空,标记前tag,并使前驱指向左孩子③如果该结点的前驱为空,标记后tag,并使后继指向右孩子结点结构在原本的二叉树上再添加两个标记:Ltag,Rtag;Ltag=0表示有左孩子,Ltag=1表示有前驱;Rtag同理遍历因为有了前驱与后继,所以可以像数组一样进行遍历,但是需要.

2021-07-31 09:44:25 76

原创 二叉树的创建与遍历

我们依然通过结构体来定义它的结点结构;分为数据域,指向左孩子的指针(指向左结构体),指向右孩子的指针(指向右结构体)二叉树的结点结构typedef char Type;//Type是自己定义的数据类型//二叉链表存储结构typedef struct TreeNode{ Type data; struct TreeNode* Lchild; struct TreeNode* Rchild;}TreeNode;创建一个二叉树我们需要改变指针所指向的数据,并且递归会跳出函数,所以

2021-07-23 16:39:32 127 2

原创 字符串匹配(浅)

本文介绍两种字符串匹配的方法:BF算法(暴力匹配),KMP算法(进阶)BF算法暴力匹配,顾名思义就是一个一个的进行匹配,若匹配成功,则移动到下一位,否则进行回溯分为主串与子串,从第一位开始校对,若比对失败,则子串回溯,主串移动到下一位字符串的结构typedef struct String{ char* data;//数据域 int len;//串的长度}String;字符串的初始化String是我们自己对结构体设置的别名1.先new一个指针;并把它的data设为NU

2021-07-17 22:05:50 160

原创 队列的学习(浅)

循环队列:1、循环队列是队列的顺序存储结构2、循环队列用判断是否为空利用 Q.front=Q.rear3、循环队列头指针始终指向队列头元素,而尾指针始终指向队列尾元素的下一个位置4、按照队列的定义,队头删除,队尾插入循环队列的结点结构front与rear为索引指针;front始终指向队列头元素,rear指向队列尾的下一个位置(相当于空)typedef struct queue{ int front; int rear; int data[MAXSIZE];}Queue;初

2021-07-10 23:57:11 126

原创 链表的学习(浅)

什么是链表?---链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。链表和数组比较,不用事先确定存储空间,而是根据需要开辟内存单元。单链表的结点结构struct node* next是结构体指针,指向下一个结构体typedef struct node{ int data;//数据域 struct node* next;//指针域}Node,*Link;//Node为struct node的别名,*Link为指向结构体的指针初始化单链表1.创建一个头结点,如果内存

2021-06-25 23:07:09 237

原创 栈的学习(浅)

数据结构栈数据结构栈什么是栈?---栈(stack)是限定仅在表尾进行插入或者删除的线性表,分为栈顶,栈低。 不含元素的空表称为空栈。因为栈限定在表尾进行插入或者删除,所以栈又被称为先出后出的线性表。PS:代码区内的cout语句仅用来帮助你更好的理解栈的工作进程,实际手写栈的时候不需要加入它1.顺序栈栈和线性表类似,也有两种存储表示方法顺序栈和链栈,链栈的操作是线性表操作的特例。顺序栈即栈的顺序存储结构是利用一组地址连续的存...

2021-06-17 22:57:18 411

HTML.md(Web开发知识大全包含HTML,CSS)

web开发的基础知识(精)

2021-08-27

C++精选入门笔记,Typora编辑,清晰明了,简单易懂

C++精选入门笔记

2021-08-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除