自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 问题 E: 二叉树的中后序遍历构建及求叶子

题目描述按中序遍历和后序遍历给出一棵二叉树,求这棵二叉树中叶子节点权值的最小值。输入保证叶子节点的权值各不相同。输入第一行输入一个整数t,表示有t组测试数据。对于每组测试数据,首先输入一个整数N (1 <= N <= 10000),代表二叉树有N个节点,接下来的一行输入这棵二叉树中序遍历的结果,最后一行输入这棵二叉树后序遍历的结果。输出对于每组测试数据,输出一个整数,代表二叉树中叶子节点权值最小值。样例输入373 2 1 4 5 7 63 1 2 5 6

2021-05-08 14:32:42 747 1

原创 问题 D: DS二叉树--二叉树之最大路径

题目描述给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径,每条路径的权值等于路径上所有结点的权值和。编程求出二叉树的最大路径权值。如下图所示,共有4个叶子即有4条路径,路径1权值=5 + 4 + 11 + 7 = 27路径2权值=5 + 4 + 11 + 2 = 22路径3权值=5 + 8 + 13 = 26...

2021-05-08 14:31:42 298

原创 问题 C: DS二叉树—二叉树镜面反转

题目描述假设二叉树用二叉链表存储,用先序序列结果创建。输入二叉树的先序序列,请你先创建二叉树,并对树做个镜面反转,再输出反转后的二叉树的先序遍历、中序遍历、后序遍历和层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。输入测试次数t每组测试数据是一个二叉树的先序遍历序列,#表示空树输出对每棵二叉树,输出镜面反转后的先序、中序、后序和层次遍历序列。如果空树,输出四个NULL(后面不加空格)。如下:NULLNULLNULLNULL样...

2021-05-08 14:30:19 430

原创 问题 B: DS二叉树--后序遍历非递归算法

题目描述求一颗树的后序遍历的非递归算法要求:必须是非递归算法,使用堆栈对象来实现建树方法采用“先序遍历+空树用0表示”的方法算法流程:输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出逐行输出每个二叉树的后序遍历结果样例输入3AB0C00D00ABC00D00EF000ABCD0000E0F00样例输出CBDACDBFEADCBFEA提示代码...

2021-05-08 14:29:12 486

原创 问题 A: DS二叉树--层次遍历

题目描述层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。建树方法采用“先序遍历+空树用0表示”的方法要求:采用队列对象实现,函数框架如下:输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出逐行输出每个二叉树的层次遍历结果样例输入2AB0C00D00ABCD00E000FG00H0I00样例输出ABDCABFCGHDEI提示...

2021-05-08 14:27:44 692

原创 问题 E: DS二叉树—二叉树结点的最大距离

题目描述 二叉树两个结点的距离是一个结点经过双亲结点,祖先结点等中间结点到达另一个结点经过的分支数。二叉树结点的最大距离是所有结点间距离的最大值。例如,下图所示二叉树结点最大距离是3,C和D的距离。 二叉树用先序遍历顺序创建,#表示空树。计算二叉树结点最大距离和最大距离的两个结点(假设二叉树中取最大距离的两个结点唯一)。输入测试次数T第2行之后的T行,每行为一棵二叉树先序遍历结果(#表示空树)输出对每棵二叉树,输出树的结点最大距离和最大距离...

2021-05-08 14:26:21 1575

原创 问题 D: DS二叉树--基于数组存储的构建

题目描述任意二叉树可以根据完全二叉树性质保存在一个数组中。已知二叉树的数组存储,用程序构建该二叉树。提示:用递归方法或非递归都可以递归方法的代码框架如下:输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树的数组存储结果,空树用字符‘0’表示,输入t行数组的数据由大写字母和0表示输出逐行输出每个二叉树的先序结果样例输入3ABC0DABCDEF000GABEC0F0D0样例输出ABDCABDEGCFABCD...

2021-05-08 14:24:38 872

原创 问题 C: DS树--带权路径和

题目描述计算一棵二叉树的带权路径总和,即求赫夫曼树的带权路径和。已知一棵二叉树的叶子权值,该二叉树的带权案路径和APL等于叶子权值乘于根节点到叶子的分支数,然后求总和。如下图中,叶子都用大写字母表示,权值对应为:A-7,B-6,C-2,D-3树的带权路径和 = 7*1 + 6*2 + 2*3 + 3*3 = 34输入第一行输入一个整数t,表示有t个二叉树第二行输入一棵二叉树的先序遍历结果,空树用字符‘0’表示,注意输入全是英文字母和0,其中大写字母表...

2021-05-08 14:22:54 410

原创 问题 B: DS二叉树--赫夫曼树解码(含代码框架)

已知赫夫曼编码算法和程序,在此基础上进行赫夫曼解码在赫夫曼树的类定义中增加了一个公有方法:int Decode(const string codestr, char txtstr[]); //输入编码串codestr,输出解码串txtstr该方法如果解码成功则返回1,解码失败则返回-1,本程序增加宏定义ok表示1,error表示-1解码方法的代码框架如下:输入第一行输入t,表示有t个测试实例第二行先输入n,表示第1个实例有n个权值,接着输入n个权值,权值全是小于1万的正整数.

2021-05-08 14:21:22 507

原创 DS二叉树--赫夫曼树的构建与编码(含代码框架)

题目描述给定n个权值,根据这些权值构造huffman树,并进行huffman编码参考课本算法,注意数组访问是从位置1开始要求:赫夫曼的构建中,默认左孩子权值不大于右孩子权值代码框架参考如下:<span style="color:#000000"><span style="color:#339900">#include<iostream></span><span style="color:#339900">#include

2021-05-08 14:17:30 1336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除