- 博客(20)
- 收藏
- 关注
原创 数据结构与算法问题 二叉排序树
题目描述: 二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值; 2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值; 3. 左、右子树本身也是一颗二叉排序树。 现在给你N个关
2014-09-17 16:30:07 1209 1
原创 数据结构与算法问题 朋友圈
奈何能力不够,用欧拉回路DFS解题,但是Memory Limit Exceed了,晚上回来再学用并查集。题目描述:假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} ,
2014-09-15 15:21:15 2348 1
原创 数据结构与算法问题 欧拉回路
题目描述: 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?输入: 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 输出: 每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。样例输入:3 31 21 32 3
2014-09-13 21:52:15 1221
原创 数据结构与算法问题 [NOIP2001]求先序排列
题目描述:描述 Description 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。输入格式 Input Format 第一行为二叉树的中序序列 第二行为二叉树的后序序列输出格式 Output Format 一行,为二叉树的先序序列样例输入 Samp
2014-09-13 18:08:06 1037
原创 数据结构与算法问题 判断两序列是否为同一二叉搜索树序列
题目描述:判断两序列是否为同一二叉搜索树序列输入:开始一个数n,(1接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。输出:如果序列相同则输出YES,否则输出NO样例输入:2
2014-09-10 17:31:43 2474
原创 数据结构与算法问题 AVL二叉平衡树
AVL树本质上还是一棵二叉搜索树,它的特点是:本身首先是一棵二叉搜索树。带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1#include using namespace std;const int LH = 1;const int EH = 0;const int RH = -1;bool TRUE = 1;bool F
2014-09-02 17:31:58 1027
原创 数据结构与算法问题 堆栈使用 2011年吉林大学计算机研究生机试真题
题目描述: 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入: 对于每组测试数据,第一行是一个正整数 n,0输出: 对于每组测试数据,根据其中的命令字符来处理堆栈;并对所有的'A’操作,输出当时栈顶的值,每个
2014-08-16 16:50:15 982
原创 数据结构与算法问题 单源最短路径 浙大OJ
题目描述:给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入:输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点t。n和m为0时输入结束。(1输出:输出
2014-08-16 15:47:42 1058
原创 数据结构与算法问题 北大oj 2075(最小生成树)
Tangled in CablesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 5943 Accepted: 2342DescriptionYou are the owner of SmallCableCo and have purchased the
2014-08-14 20:11:10 907 1
原创 数据结构与算法问题 sdut oj 2144 最小生成树
题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。 输入 输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n剩下m行每行3个正整数a b c,代表城市a 和城市b之
2014-08-14 17:18:12 759
原创 数据结构与算法问题 二叉搜索树
1、序 详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树3、
2014-08-13 18:11:21 957
原创 数据结构与算法问题 二叉树的建立与遍历(含非递归)
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说
2014-08-12 23:05:10 1032
原创 数据结构与算法问题 二叉树
#include #include #include #include using namespace std; class Node{public: //值 int data; //左孩子 Node* leftCh; //右孩子 Node* rightCh; //所在层 int level; Node(int
2014-08-11 23:34:49 673
原创 数据结构与算法问题 快速排序
假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列:3 1 2 5 4 6 9 7 10
2014-08-10 18:50:11 663
原创 数据结构 最小生成树(普里姆算法)
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出。这里用的是后者。
2014-07-20 19:10:54 1128
原创 数据结构 BFS遍历树
按先序遍历创建一棵树,以层次遍历输出样例输入A B # D # # C E # # F # #样例输出LevelOrder: A B C D E F
2014-07-17 20:08:00 811
原创 数据结构算法问题 约瑟夫问题
有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。 关于输入 每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是: 0 0 关于输出 对于每行输入数据(
2014-07-17 13:11:56 910
原创 数据结构算法问题 小球下落
小球下落 (二叉树的应用)有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1,2,3,...,2^D-1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否者往右走,直到走到叶子结点。一些小球从结点1处依次开始下落,最后一
2014-07-17 13:08:16 1770 2
原创 数据结构算法问题 移动小球
/*移动小球时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:202 测试通过:46描述你有一些小球,从左到右依次编号为1,2,3,…,n,你可以执行两种指令。其中A X Y表示把小球X移动到小球Y左边,B X Y表示把小球X移动到小球Y右边。指令保证合法,即X不等于
2014-07-17 10:47:34 873
原创 数据结构算法问题 栈与队列的应用
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入
2014-07-13 17:15:44 848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人