数据结构学习
小菜鸟也有春天
大一罢了
展开
-
ALDS1_11_B
#include<bits/stdc++.h>using namespace std;int d[111],f[111],G[111][111],t=1,n;int dfs(int now){ d[now]=t++; for(int i=1;i<=n;i++) if(G[now][i]&&d[i]==0)dfs(i); f[now]=t+...原创 2020-01-11 12:18:35 · 177 阅读 · 0 评论 -
ALDS1_8_C Binary Search Tree III
二叉树的建立遍历和删除都在这里了,感觉书上写的麻烦的,改简单一点还是能够AC的。#include<bits/stdc++.h>using namespace std;struct Node{ int key; Node *right,*left,*parent;};Node *root,*NIL;void insert(int k){ Node *x=root; N...原创 2020-01-08 21:23:03 · 221 阅读 · 0 评论 -
ALDS1_8_B 二叉树的搜索
#include<bits/stdc++.h>using namespace std;struct Node{ int key; Node *right,*left,*parent;};Node *root,*NIL;void insert(int k){ Node *x=root; Node *y =NULL; Node *z=(Node *)malloc(siz...原创 2020-01-08 12:58:49 · 119 阅读 · 0 评论 -
ALDS1_8_A
本题是二叉搜索树的建立和遍历#include<bits/stdc++.h>using namespace std;struct Node{ int key; Node *right,*left,*parent;};Node *root,*NIL;void insert(int k){ Node *x=root; Node *y =NULL; Node *z=(...原创 2020-01-07 22:22:12 · 81 阅读 · 0 评论 -
Reconstruction of a Tree
Write a program which reads two sequences of nodes obtained by the preorder tree walk and the inorder tree walk on a binary tree respectively, and prints a sequence of the nodes obtained by the postor...原创 2020-01-07 18:27:55 · 338 阅读 · 0 评论 -
第八章 ALDS1_7_C:Tree Walk 树的遍历
Tree WalkBinary trees are defined recursively. A binary tree T is a structure defined on a finite set of nodes that eithercontains no nodes, oris composed of three disjoint sets of nodes:a root n...原创 2020-01-07 17:11:42 · 308 阅读 · 0 评论 -
Binary Tree
Binary TreeA rooted binary tree is a tree with a root node in which every node has at most two children.Your task is to write a program which reads a rooted binary tree T and prints the following in...原创 2020-01-07 12:54:17 · 232 阅读 · 0 评论 -
有根树的表达:ALDS1_7_A:Rooted Trees
Rooted TreesA graph G = (V, E) is a data structure where V is a finite set of vertices and E is a binary relation on V represented by a set of edges. Fig. 1 illustrates an example of a graph (or grap...原创 2020-01-06 21:48:39 · 234 阅读 · 0 评论 -
7-8 哈利·波特的考试 (25 分)
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有...原创 2019-12-02 22:45:57 · 127 阅读 · 0 评论 -
7-24 树种统计 (25 分)
随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤105 ),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。...原创 2019-11-25 22:31:33 · 114 阅读 · 0 评论 -
STL 中vector用法
临时写了下常用的vector用法,感觉是真心强大啊。#include<bits/stdc++.h>using namespace std;int a[200005];int main(){ vector<string>b; b.push_back("1"); b.push_back("2"); string s="d"; b.push_ba...原创 2019-11-24 23:21:14 · 127 阅读 · 0 评论 -
7-15 QQ帐户的申请与登陆 (25 分)
输入格式:输入首先给出一个正整数N(≤105 ),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。密码为不小于6位、不超过16...原创 2019-11-24 15:06:49 · 279 阅读 · 0 评论 -
P2024 [NOI2001]食物链 题解
题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示 X 和 Y 是同类。第二种说法是“2 X Y”,表示 X 吃 Y 。此人...原创 2019-11-23 21:43:17 · 321 阅读 · 0 评论 -
最小生成树
##最小生成树的板子题kruskal 算法 不多解释了标题最小生成树时间限制2 S内存限制10000 Kb问题描述:见习题集P152。用克鲁斯卡尔(Kruskal)算法求无向网的最小生成树。输入:输入数据第一行为两个正整数n(1<n<=30)和m(1<m<100),分别表示顶点数和边数。后面紧跟m行数据,每行数据是一条边的信息,包括三个数字,分别表示该...原创 2019-11-19 20:04:55 · 361 阅读 · 0 评论 -
无相连通子图
标题求无向图连通子图时间限制2 S内存限制10000 Kb问题描述求无向图连通子图个数问题输入测试数据由m+1行构成,第一行为两个正整数n(1<n<=30)和m(1<m<100),分别表示顶点数(顶点编号为1,2,…,n)和边数,其后是m行数据,每行数据是一条边的信息,包括两个数字,分别表示该边关联的两个顶点。问题输出输出两行信息,第一行输出该图中连通...原创 2019-11-19 20:01:38 · 827 阅读 · 0 评论 -
使用循环单链表来解决约瑟夫问题
刚学数据结构做的一个模拟标题约瑟夫环时间限制2 S内存限制10000 Kb问题描述习题集P79。编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的...原创 2019-09-03 19:44:41 · 1093 阅读 · 0 评论