![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 57
向着曙光前进
。。。。
展开
-
利用栈完成后缀表达式的计算
后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将后缀表达式的结果计算出来。输入后缀表达式。以#号作为表达式结束标志。为了简单,处理的数据为0-9的整数。输出计算结果。样例输入3 6 6 2 / - 3 * +#样例输出12#include<stdi...原创 2018-04-17 16:38:52 · 4433 阅读 · 0 评论 -
舞伴问题
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求编写程序实现舞伴问题。输入输入一共5行,第一行是男生人数m;第二行依次是男生的姓名;第三行是女士的人数n;第四行依次是女士的姓名;第五行是跳舞的轮数。输出配对的男士和女士的姓名。样例输入5A B C D E3...原创 2018-04-13 12:21:53 · 758 阅读 · 0 评论 -
统计利用先序遍历创建的二叉树叶结点的个数
统计利用先序遍历创建的二叉树叶结点的个数 1000(ms) 10000(kb) 2563 / 4715利用先序递归遍历算法创建二叉树并计算该二叉树叶结点的个数。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创...原创 2018-04-13 12:18:47 · 2448 阅读 · 0 评论 -
统计利用先序遍历创建的二叉树的宽度
统计利用先序遍历创建的二叉树的宽度 1000(ms) 10000(kb) 2257 / 5388利用先序递归遍历算法创建二叉树并计算该二叉树的宽度。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建...原创 2018-04-13 12:16:06 · 941 阅读 · 0 评论 -
统计利用先序遍历创建的二叉树的深度
利用先序递归遍历算法创建二叉树并计算该二叉树的深度。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。最后再统计创建完成的二叉树的深度(使用二叉树的后序遍历算法)。需要注意输入数据序列中的"...原创 2018-04-13 12:13:31 · 1882 阅读 · 0 评论 -
循环队列
根据给定的空间构造顺序循环队列,规定队满处理方法为少用一个元素空间。例如,给定5个元素空间构造循环队列,则只能存放4个元素。试根据入队及出队操作判断队列最后的元素存放情况,并输出最后队列中的元素值,即完成给定入队及出列操作后一次性全部出队的元素值。要求采用顺序队列完成,少用一个存储空间的方法区分队列的空和满。输入输入的第一行为一个自然数n,表示要求构造的顺序循环队列空间数。 第二行为操作次k,接下...原创 2018-04-13 11:57:40 · 1335 阅读 · 0 评论 -
括号匹配问题
假设表达式中允许包含两种括号:圆括号和方括号。编写一个算法判断表达式中的括号是否正确配对。输入由括号构成的字符串,包含”(“、”)“、”[“和”]“。输出如果匹配输出YES,否则输出NO。样例输入[([][]())]样例输出YES#include<stdio.h>#include<math.h>#include<string.h>#include&l...原创 2018-04-13 11:55:26 · 435 阅读 · 0 评论 -
swust.oj.1075求最小生成树(Prim算法)
求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。输入第一行为图的顶点个数n第二行为图的边的条数e接着e行为依附于一条边的两个顶点和边上的权值输出最小生成树中的边。样例输入610ABCDEFA B 6A C 1A D 5B C 5C D 5B E 3E C 6C F 4F D 2E F ...原创 2017-04-12 19:43:58 · 1281 阅读 · 0 评论 -
二叉排序树的实现和查找
按照给定的关键字集合,建立二叉排序树。在建立的二叉排序树上查找指定的关键字,查找成功,输出找到该关键字比较的次数;查找不成功,输出-1.输入关键字个数n; 关键字集合; 要查找的关键字;输出查找成功输出比较的次数,否则输出-1。样例输入1225 18 46 2 53 39 32 4 74 67 60 1174样例输出4#include<iostream>#include&l...原创 2018-04-18 18:43:56 · 2870 阅读 · 0 评论 -
输出用先序遍历创建的二叉树是否为完全二叉树的判定结果
利用先序递归遍历算法创建二叉树并判断该二叉树是否为完全二叉树。完全二叉树只能是同深度的满二叉树缺少最后一层倒数连续个叶子结点。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。最后判断创建完...原创 2018-04-18 18:42:28 · 1466 阅读 · 4 评论 -
输出利用二叉树存储的普通树的度
普通树可转换成相应的二叉树(该二叉树的根结点一定缺少右儿子),反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的普通树的度。普通树的度为其结点儿子数的最大值。相应的二叉树可利用二叉树的先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写...原创 2018-04-17 16:51:44 · 1477 阅读 · 0 评论 -
利用二叉树中序及先序遍历确定该二叉树的后序序列
已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果。输入输入数据占2行,其中第一行表示中序遍历结果,第二行为先序遍历结果。输出对测试数据,输出后序遍历结果。样例输入BFDAEGCABDFCEG样例输出FDBGECA#include<iost...原创 2018-04-17 16:50:35 · 2548 阅读 · 4 评论 -
利用二叉树中序及后序遍历确定该二叉树的先序序列
已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及后序遍历结果,要求输出其先序遍历结果。输入第一行为中序序列 第二行为后续序列输出输出为遍历二叉树得到的先序序列样例输入BFDAEGCFDBGECA样例输出ABDFCEG#include<iostream>#incl...原创 2018-04-17 16:49:38 · 384 阅读 · 0 评论 -
统计利用二叉树存储的森林中树的棵数
普通树及其构成的森林均可转换成相应的二叉树,反之亦然。故而可以根据相应的转换方法去统计某一二叉树对应的森林中树的棵数。相应的二叉树可利用先序递归遍历算法创建。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建...原创 2018-04-17 16:47:45 · 1000 阅读 · 2 评论 -
输出利用先序遍历创建的二叉树的层次遍历序列
利用先序递归遍历算法创建二叉树并输出该二叉树的层次遍历序列。先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。约定二叉树结点数据为单个大写英文字符。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。最后再输出创建完成的二叉树的层次遍历序列。需要注意输入数据序列中的"#"字符和非...原创 2018-04-17 16:46:38 · 4060 阅读 · 0 评论 -
双向链表的操作问题
建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成,数据类型为整型。)输入第一行:双向表的长度; 第二行:链表中的数据元素。输出输出双向链表中的数据元素的值。样例输入102 4 6 3 5 8 10 21 12 9样例输出2 3 4 5 6 8 9 10 12 21#include<iostream>#include<cstr...原创 2018-04-17 16:45:29 · 822 阅读 · 0 评论 -
一元多项式加法运算的实现
编程实现一元多项式的加法运算。(要求用链表实现)输入第一个一元多项式A; 第二个一元多项式B。 以(0,0)作为输入结束。输出多项式A和多项式B的和。样例输入5,3 7,8 9,15 0,02,0 6,3 -7,8 0,0样例输出2x^0+11x^3+9x^15#include<malloc.h>#include<stdio.h>#include<iostrea...原创 2018-04-13 12:26:15 · 8490 阅读 · 0 评论