数据结构与算法
weyg0
这个作者很懒,什么都没留下…
展开
-
(附加实验)判断输入序列是否是合法的栈输出序列
问题描述: 已知自然数1,2,…,N(1≤N≤10000)依次入栈(即a<b当且仅当a先于b入栈),请设计算法判断输入序列C1,C2,…,CN是否为可能的出栈序列。 例如:N=5 时,3,4,2,1,5是一个可能的出栈序列,因为其可以按如下操作获得: push 1, push 2, push 3, pop, push 4, pop, pop, pop, push 5, pop 输入:可...原创 2020-04-26 16:46:15 · 755 阅读 · 0 评论 -
实验6:二叉树ADT的二叉链式实现
问题描述: 假设二叉数的数据元素为字符,采用二叉链式存储结构。请编码实现二叉树ADT,其中包括创建二叉树、遍历二叉树(深度、广度)、求二叉树的深度(高度)、计算二叉树的元素个数、计算二叉树的叶子数、二叉树的格式输出等。 根据输入的符号,执行相应的操作。如下: C:创建二叉树,创建成功输出 “Created success!”。要求实现两种创建算法。输入数字“1" ,是根据完全前序序列创建二叉树,...原创 2020-04-25 17:37:57 · 773 阅读 · 0 评论 -
实验7:算术表达式的语义二叉树
问题描述: 一个算术表达式的计算语义可以用二叉树唯一的表示出来。假设算术表达式的语义二叉树已经给出,请编码实现算术表达式的中缀形式(保持计算语义)的输出,并计算出该表达式的值。 要求: 1)使用二叉树的完全前序序列建立表达式的语义二叉树,空子树用符号@表示; 2)算术运算符包括:+, -, *, / ; 运算量只考虑单数字字符(1位整数) 3 ) 输出时用括号该表优先级; 提示: 1)递归执行...原创 2020-04-25 17:25:30 · 613 阅读 · 0 评论 -
(附加实验)二叉树的建立和输出
(附加实验)二叉树的建立和输出 问题描述: 假设二叉树的元素为字符,采用二叉链式存储。请编写算法完成: (1)已知二叉树的中序和后序遍历序列,创建二叉树; (2)实现二叉树的分层输出; 输入有三行: 第一行,一个整数n,是二叉树中的元素(结点)个数; 第二行,二叉树的中序遍历序列 第三行,二叉树的后序遍历序列 输出: 如果二叉树为空,则输出“Binary tree is empty!” 如果二叉...原创 2020-04-25 17:01:39 · 646 阅读 · 0 评论