- 博客(15)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Scau 18959 二叉树的之字形遍历 C/C++(简单、直接、易懂)
18959 二叉树的之字形遍历时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription题目来源:字节跳动测试题给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)例如:给定的二叉树是{3,9,20,15,7,#,#},该二叉树之字形层序遍历的结果是320 915 7输入格式一行字符串,只包含大写字母和#。此处采用完全二叉树的顺序存储结构。输出格
2021-06-06 10:58:53
810
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SCAU 数据结构 18718 航行(BFS) C++
18718 航行时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription 银河帝国正走向覆亡。为保留文明的种子,你需要驾驶飞船将一批“颛家”从帝国首都护送至银河边缘的基地。现在已知航线是一条直线,帝国首都为起点(坐标0),基地为终点(坐标L),在这条航线上有N个空间站可以补充 飞船的能源。第i个空间站的坐标为ai,飞船停靠在第i个空间站必须花费bi个银河币,同时让你的飞船能量恢复为最大值M。出发前飞船的
2021-06-02 18:08:16
349
原创 最短路径 之 迪杰斯特拉算法 C、C++
#include <cstdio>#include <cstring>#define Max 100#define Maxint 1000000typedef struct{ int vex,arc; int m[Max][Max];}Graph;void output(int dist[],int n){ for(int i=0;i<n;i++) printf("dist[%d]=%d\n",i,dist[i]);}void Cre
2021-09-01 20:38:49
314
原创 拓扑排序 C、C++
#include <cstdio>#include <cstdlib>#include <stack>#define Max 100#define Maxint 100000using namespace std;typedef struct ArcNode{ int adjex; int weight; struct ArcNode *nextarc;}ArcNode;typedef struct VNode{ int
2021-09-01 20:36:02
115
原创 最短路径 之 弗洛伊德算法 C、C++
#include <cstdio>#include <algorithm>#define Max 100#define Maxint 100000typedef struct{ int vex,arc; int weight[Max][Max];}Graph;int Dist[Max][Max];int Path[Max][Max];void CreatGraph(Graph &G){ int vex,arc; printf
2021-09-01 20:34:18
220
原创 最小生成树 prim与kruskal算法实现C、C++
一、Prim#include <cstdio>#include <algorithm>#define Max 100#define Maxint 1000000using namespace std;typedef struct{ int vex,arc; int m[Max][Max];}Graph;typedef struct{ int from; int lowcost;}shortEdge;int mincost=0;
2021-07-06 23:24:00
149
2
原创 scau 8608 实现二叉排序树的各种算法(2) C/C++
8608 实现二叉排序树的各种算法(2)时间限制:1000MS 代码长度限制:10KB提交次数:2559 通过次数:1396题型: 编程题 语言: G++;GCCDescription用函数实现如下二叉排序树算法: (1) 插入新结点 (2) 前序、中序、后序遍历二叉树 (3) 中序遍历的非递归算法 (4) 层次遍历二叉树 (5) 在二叉树中查找给定关键字(函数返回值为成功1,失败0) (6) 交换各结点的左右子树 (7) 求二叉树的深度 (8) 叶子结点数输入格式
2021-05-30 13:47:47
1073
原创 SCAU 18923 二叉树的直径
18923 二叉树的直径时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 1 / \ 2 3 / \ 4 5 答案为3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。输入格式共n行。第一
2021-05-28 17:25:24
1288
1
原创 18711 字符串去重C、C++ 拓展习题一
18711 字符串去重时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description一个完全由小写字母组成的长度为n的字符串,现在要求你去除所有重复的字母,并将剩下的字母按从小到大的次序输出。如输入baaadccaab,输出abcd。输入格式第一行一个整数n,表示字符串长度(0<=n<=100000)。第二行一个字符串。输出格式去除所有重复的字母,并将剩下的字母按ASCII码从小到大的次序输出。输
2021-04-15 19:23:24
528
原创 走迷宫2(穿墙) C/C++
18440 走迷宫2时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCC;VCDescription有一个N*M(N,M<=10)的格子迷宫,1代表该格子为墙,不能通过,0代表可以通过,人在迷宫中可以尝试上下左右个方向移动。另外,在迷宫中如果从左边走出迷宫会回到迷宫最右边一格(只要该格不是墙),行不变,同样,从右边走出迷宫会回到迷宫最左边一格,向上走出迷宫会回到迷宫最下边一格,向下走出迷宫会回到迷宫最上边一格。现在给定
2021-04-15 19:17:41
365
原创 华南农业大学 OJ数据结构 18714迷宫问题(C/C++)
18714 迷宫问题时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。请判断玩家能否从迷宫中走出。输入格式第一行两个整数n和m,代表n行m列。(1<=n,m<=10)下面n行每行m个字符,0代表可以通行,1代表不可以通行。输出格式如果能从迷宫走出,输出yes,否则输出no。输入样例8 8001
2021-04-15 19:12:06
335
原创 华南农业大学 OJ数据结构 迷宫问题2(C、C++)
18720 迷宫问题 (最短路径)时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。请判断玩家能否从迷宫中走出,如果能走出迷宫输出,输出最短的路径长度,否则输出-1。输入格式第一行两个整数n和m,代表n行m列。(1<=n,m<=10)下面n行每行m个字符,0代表可以通行,1代表不可以通行。输出格式如果
2021-04-15 19:07:06
374
原创 华南农业大学 OJ数据结构 计算二叉树的第k层中所有叶子结点个数C/C++
17263 计算二叉树的第k层中所有叶子结点个数时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription二叉链表表示的二叉树:按先序次序输入二叉树中结点的值,'#'字符表示空树,构造二叉链表表示的二叉树T(该二叉树中的结点为单个字符并且无值重复的结点)。编写算法完成:计算二叉树的第k层中所有叶子结点个数,根结点为第1层,根结点的孩子结点为第2层,依次类推。输入格式第一行输入先序次序二叉树中结点第二行输入层次
2021-04-15 14:03:32
291
原创 华南农业大学OJ数据结构 计算二叉树的宽度(C、C++)
#include <stdio.h>int a[51]={0};typedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;void Traverse(BiTree T,int a[],int k){ if(T) { a[k]++; Traverse(T->lchild,a,k+1); Trave
2021-04-15 13:29:15
758
原创 华南农业大学OJ数据结构 六一儿童节C/C++(贪心算法)
#include <cstdio>#include <algorithm>using namespace std;int main(){ int n; scanf("%d",&n); int h[n]; int i,j; for(i=0;i<n;i++) { scanf("%d",&h[i]); } sort(h,h+n); int m; scanf("%d"
2021-04-15 13:20:03
741
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人