- 博客(9)
- 收藏
- 关注
原创 代码随想录算法训练营第一天|704.二分查找、35.搜索插入的位置、34.在排序数组中查找元素的第一个和最后一个位置、27.移除元素
题目链接:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/public:int l = 0;int l = 0;
2023-09-25 01:18:31
80
1
原创 C语言指针详解
C语言指针详解1.什么是指针Ans:指针是一个变量,用来存放地址的变量常见指针操作#include<stdio.h>int main(){ int* p; //这里定义了一个指针变量(用来存放变量地址); //注意:指针变量名:p,而不是*p;这边可以这样理解:我们定义了一个指针变量,它的类型是(int*),变量名:p; //但是C++选手为了美观,就写成int *p.这个和int* p是一个意思; int a = 1;//定义了一个变量a; p
2021-10-24 09:50:13
215
2
原创 基础算法与数据结构模板
1.排序算法快速排序#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 10;int Arr[N]; void qsort(int l,int r){ int t = Arr[l]; int i = l; int j = r; while(i<j){ while(Arr[j]>=t&&i<j) j--; while(Arr[i]<=t&&i
2021-04-24 10:30:11
192
原创 基础算法与数据结构板子
1.排序算法快速排序#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 10;int Arr[N]; void qsort(int l,int r){ int t = Arr[l]; int i = l; int j = r; while(i<j){ while(Arr[j]>=t&&i<j) j--; while(Arr[i]<=t&&a
2021-04-23 20:45:27
188
3
原创 最小生成树-Kruskal算法
数据结构:最小生成树-Kruskal算法Kruskal算法采用的是边贪心思想,我们先大概讲一下它的大概思想,首先我们先假设先隐藏所有的边,这样每个点会成为一个连通块。步骤1:先对图中所有的边按照权值进行排序步骤2:如果当前这条边的两个顶点不在一个连通块里面,那么咋就用并查集的Union函数把他们合并在一个连通块里面(也就是把他们放在最小生成树里面),如果再在一个并查集里面,我们就舍弃这条边,不需要这条边。步骤3:一直执行步骤2,知道当边数等于定点数的数目减去1,那就说明这n个顶点就连合并在一个集合
2021-03-29 20:46:03
20564
6
原创 团体天梯赛-L2-004 这是二叉搜索树吗?
团体天梯赛-L2-004 这是二叉搜索树吗?题目链接:这是二叉搜索树吗?主要考察BST树(指针建树)和前序遍历#include<bits/stdc++.h>using namespace std;int n,m,cnt;vector<int> vi,ans;struct node{ int data; node *lchild; node *rchild;};void build_bst(node *&root,int data){ if(ro
2021-03-25 19:26:14
151
1
原创 团体天梯赛-L2-001紧急救援
团体天梯赛-L2-001紧急救援题目链接:L2-001 紧急救援 (25 分)题目大意:每个城市有救援队伍的数目,在保证最短路的同时,同时救援队伍人数要尽量多,最后输出从一个点到一个点最短路的条数、最短路径长度和路径。题解:dfs求路径和堆优化的Dijkstra//本题用了链式前向星存放图和堆优化求最短路#include<bits/stdc++.h>using namespace std;const int N = 10001;int n,m,start,End,idx,u
2021-03-25 18:52:32
260
原创 二叉搜索树(BST)详解
二叉搜索树(BST)今天咱们来聊聊二叉搜索树,先从字面上来理解,二叉,指的是有两个分支,左子树和右子树;搜索树,啥意思呢,搜索,是不是就是之前学过dfs和bfs那边学过,对啊,dfs就是深度优先搜索,是不是用递归写的,是不是当时被搜索支配的很难受。。。。我也是的。。。那么BST有什么特殊地方呢,这个问题就是我们讨论的重点和难点。特殊:一颗大树而言,我们对于任何一个非叶子结点(如果不知道什么是叶子结点,叶子结点就是没有孩子结点),它的左子树的数值比根节点的数值小于或等于,右子树的数值比根节点的数值大,是
2021-03-25 15:04:34
3349
10
原创 并查集详解
数据结构-并查集并查集是维护集合的数据结构 它支持合并(Union) 查找(Find)功能首先需要一个father数组(int father[N])存放父亲结点father[i]表示元素i 的结点的父亲结点例如 father[1] = 2;表示结点1的父亲结点是2;在并查集初始化的时候father[i] = i;表示一开始自己的父亲是自己(核心)为什么这么初始化,下面你会慢慢了解//初始化const int N = 1001;int father[N];void init(){
2021-03-24 22:03:04
2230
14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人