「已注销」
码龄4年
关注
提问 私信
  • 博客:46,479
    动态:519
    46,998
    总访问量
  • 103
    原创
  • 暂无
    排名
  • 2
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2021-04-19
博客简介:

m0_57422141的博客

查看详细资料
个人成就
  • 获得4次点赞
  • 内容获得0次评论
  • 获得34次收藏
  • 代码片获得524次分享
创作历程
  • 103篇
    2022年
成就勋章
TA的专栏
  • be
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

再次拾起JAVA工程师的进阶之路

发布动态 2022.04.25

***(构建二叉搜索树+判断是否是完全二叉树)是否是完全二叉搜索树(二叉搜索树不一定是完全二叉树)(构造树用函数,位置从1开始,再使用一个tree[N]数组)(输出时判断是否为0来判断是否输出)

代码:#include<bits/stdc++.h>using namespace std;#define N 40int n;int tree[N]; //1 2 3 4 5 6 7int max1=0;void create(int x,int pos){ if(tree[pos]==0) { tree[pos]=x; max1=max(max1,pos); } else {
原创
发布博客 2022.04.18 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(先序,中序得到层次序列,层次序列左右翻转输出)玩转二叉树(利用两个数组,函数中还有开始下标和数组长度;队列实现层次遍历翻转输出)

代码://有先序,中序得到层次遍历序列//再输出反转后的层序遍历#include<bits/stdc++.h>using namespace std;#define N 35int mid[N],pre[N];int n;int t=0;int tree[N*N],tree1[N*N];void creatT(int *pre,int *mid,int n,int index){ if(n==0) return ; int k=0;
原创
发布博客 2022.04.18 ·
223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(**)(平衡二叉树的知识+求树的高度+左旋右旋及两者的结合+树的建立)平衡二叉树的根

#include<bits/stdc++.h>using namespace std;struct Node{ int data; Node* left; Node* right;};int n;int height(Node* T){ return T==NULL?0:max(height(T->left),height(T->right))+1;}Node* turn1(Node* T){ Node* A=T->.
原创
发布博客 2022.04.18 ·
802 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

根据后序和中序遍历输出先序序列(注意两个序列的符号不要弄混)

代码:#include<bits/stdc++.h>using namespace std;int in[33],post[33];int n;vector<int>pre;void getpre(int postl,int postr,int inl,int inr){ if(postl>postr) return; int m=inl; while(in[m]!=post[postr]) m++;
原创
发布博客 2022.04.18 ·
1361 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

(二叉搜索树,由先序得到后序)搜索树的判断(判断和得到后序序列放在一个函数中,如果后序数组不等于先序数组的个数,则不是二叉搜索树)

代码:#include<bits/stdc++.h>using namespace std;#define N 1005int n;int pre[N];int isMirror;vector<int> post;void getpost(int left,int right){ if(left>right) return ; int a=left+1,b=right; if(isMirror==0) {
原创
发布博客 2022.04.18 ·
82 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(先序中序得到树的高度)还原二叉树(左右子树选最大+1)

代码:#include<bits/stdc++.h>using namespace std;char pre[55],in[55];int n;int Height(int prel,int prer,int inl,int inr){ if(prel>prer) return 0; //if(prel==prer) //return 1; int m=inl; while(in[m]!=pre[prel])
原创
发布博客 2022.04.18 ·
756 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(树+dfs)列出叶节点(dfs使用队列,出队时判断是否是叶节点,如果左/右不是叶节点,则入队)

代码:#include<bits/stdc++.h>using namespace std;struct node{ int left; int right;}Node[12];int in[12];int res[12]; //存储放入的方向int top=0;void bfs(int x){ queue<int>q; q.push(x); while(q.size()) { int z
原创
发布博客 2022.04.18 ·
229 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

哲哲打游戏(简单模拟,重点理解题意)

代码:#include<bits/stdc++.h>using namespace std;#define N 100005int n,m;vector<int> v[N];int book[N];int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { int k; cin>>k; v[i].push_back(0
原创
发布博客 2022.04.18 ·
291 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(未解决)表达式转换

//表达式转换#include<bits/stdc++.h>using namespace std;stack<char> st;map<char,int> mp;int main(){ mp['+']=mp['-']=1; mp['*']=mp['/']=2; int flag=1; string str=""; cin>>str; for(int i=0;i<str.length();i+.
原创
发布博客 2022.04.18 ·
160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

dinic(摧毁道路)

#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3f#define N 10050int n,m,s,t;int num=1;int head[N];struct node{ int next; int to; int w;}edge[N*N];void add(int u,int v,int w){ edge[++num].next=head[u]; .
原创
发布博客 2022.04.16 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用优先队列和普通队列的区别

队列:spfa出队flag置为0,入队的时候置为1,和朴素算法一样#include<bits/stdc++.h>#define x first#define y second#define INF 0x3f3f3f3fusing namespace std;typedef pair<int,int> PII;const int N = 25005;int n,m,s,d,r,p,dis[N],in[N];vector<PII> mar[N];b
原创
发布博客 2022.04.16 ·
1113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

风雪火车站(单源最短路径的灵活应用)(使用优先队列+vector存储)

代码:#include<bits/stdc++.h>#define x first#define y second#define PII pair<int,int>#define N 100010#define M 500500#define INF 0x3f3f3f3fint visit[N];int n,m,s,t,G,q;int h[N],l[N];using namespace std;int main(){ cin>>n&g
原创
发布博客 2022.04.15 ·
458 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(最小生成树模板)公路村村通

一、krustal的优先队列#include<bits/stdc++.h>using namespace std;#define N 1005#define INF 0x3f3f3f3fint pre[N];int n,m;struct edge{ int u,v,w; friend bool operator<(const edge &a,const edge &b) { return a.w>b.w;
原创
发布博客 2022.04.15 ·
457 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

(dijkstra例题)城市间紧急救援

dijkstra:常规算法#include<bits/stdc++.h>#define N 505#define INF 0x3f3f3f3fusing namespace std;int n,m,s,t;int num[N]; //救援队数量int pre[N]; //前一个结点int D[N]; //距离int e[N][N]; //边int flag[N];int people[N]; //召集的最多救援队数量int cnt[N];
原创
发布博客 2022.04.15 ·
353 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

最短路径问题(dijkstra+floyd+bellman-ford+spfa+bfs+dfs)最小生成树问题(prim+kruskal)

bfs:广度优先搜索dfs:深度优先搜索dijkstra:用于单源最短路径,无负权路floyd:任意两点间最短路径,可以算负权值,不能算负权回路bellman-ford:可以计算小规模的负权回路spfa:队列优化的bellman-forddinic:计算最大流bfs:可以用来求无权图的最短路径重点在于每次的试探pop时才输出dfs:重点在于回溯头部输出,相邻节点dfsdijkstra算法与此同时还有堆优化的dijkstra算法,使用链式前向星
原创
发布博客 2022.04.14 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

归并排序、快速排序、堆排序

归并排序//归并排序//跟两个数组合并的算法有异曲同工之妙#include<bits/stdc++.h>using namespace std;#define N 105int q[N];int tmp[N]; //存放排序好的临时数组void merge_sort(int q[],int l,int r){ if(l>=r) return ; int mid=l+r>>1; merge_sort(q,l,mi
原创
发布博客 2022.04.13 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

(*****dijkstra升级版)直捣黄龙(紧急救援加强版)

代码一、常规算法,比较麻烦//使用map容器将字符串和数字建立关系//dijkstra算法保存路径#include<iostream>#include<vector>#include<map>using namespace std;const int INF = 0x3f3f3f3f;const int N = 210;map<string,int>mp;int n,k,w;struct edge{ int to,cost;
原创
发布博客 2022.04.13 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(并查集+sort->最小生成树)最小生成树的唯一性

收获:看清楚题意,将每个边的信息存储在向量中,依旧从小到大排列,依次遍历判断是否加入此边(记为a)不是环路(起点终点的f值不同),并判断下一条边(记为b)是否权值与此边相同并且a边的两端各自与b的两端在一棵树上(起点代表都在已成的树上 终点为都可连接到接下来的最小树上),若满足,则代表树不唯一。若边数为n-1则已成,否则没有最小支撑树。代码:#include<bits/stdc++.h>using namespace std;int f[501];t.
原创
发布博客 2022.04.13 ·
297 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(简单动态规划)括号序列-改

出错原因分析:1.2.dp[0][0]=1;3.代码:#include <iostream>#include<bits/stdc++.h>#define N 2010//#define INF 1e9+7#define INF 1000000007using namespace std;int n;string s;int dp[N][N]; //前i个字符中还有j个(需要匹配的答案的数量int main(){ cin&g..
原创
发布博客 2022.04.11 ·
1138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多