当前位置: 首页 > news >正文

企业网站制作托管站长工具ip查询

企业网站制作托管,站长工具ip查询,做网站推广优化,公司网页制作哪家靠谱目录 树结构及其算法-二叉运算树 C代码 树结构及其算法-二叉运算树 二叉树的应用实际上相当广泛,例如表达式之间的转换。可以把中序表达式按运算符优先级的顺序建成一棵二叉运算树(Binary Expression Tree,或称为二叉表达式树)…

目录

树结构及其算法-二叉运算树

C++代码


树结构及其算法-二叉运算树

二叉树的应用实际上相当广泛,例如表达式之间的转换。可以把中序表达式按运算符优先级的顺序建成一棵二叉运算树(Binary Expression Tree,或称为二叉表达式树)。之后按二叉树的特性进行前、中、后序的遍历,即可得到前、中、后序表达式,建立的方法可根据以下两种规则来进行操作:

  1. 考虑表达式中运算符的结合性与优先权,再适当地加上括号。
  2. 由最内层的括号逐步向外,利用运算符当树根,左边操作数当左子树,右边操作数当右子树,其中优先权最低的运算符作为此二叉运算树的树根。

C++代码

#include<iostream>
using namespace std;struct TreeNode {int data;TreeNode* leftNode;TreeNode* rightNode;TreeNode() {this->data = ' ';this->leftNode = nullptr;this->rightNode = nullptr;}TreeNode(int tempData, TreeNode* tempLeftNode = nullptr, TreeNode* tempRightNode = nullptr) {this->data = tempData;this->leftNode = tempLeftNode;this->rightNode = tempRightNode;}
};namespace Tree {TreeNode* CreateExpression(char* sequence, int index, int arraySize) {TreeNode* _TreeNode;if (sequence[index] == ' ' || index >= arraySize)return nullptr;else{_TreeNode = new TreeNode((int)sequence[index]);_TreeNode->leftNode = CreateExpression(sequence, 2 * index, arraySize);_TreeNode->rightNode = CreateExpression(sequence, 2 * index + 1, arraySize);return _TreeNode;}}void Preorder(TreeNode* tempTree) {if (tempTree != nullptr) {cout << (char)tempTree->data << " ";Preorder(tempTree->leftNode);Preorder(tempTree->rightNode);}}void Inorder(TreeNode* tempTree) {if (tempTree != nullptr) {Inorder(tempTree->leftNode);cout << (char)tempTree->data << " ";Inorder(tempTree->rightNode);}}void Postorder(TreeNode* tempTree) {if (tempTree != nullptr) {Postorder(tempTree->leftNode);Postorder(tempTree->rightNode);cout << (char)tempTree->data << " ";}}int Condition(char tempOperator, int num1, int num2) {switch (tempOperator){case '*':return (num1 * num2);case '/':return (num1 / num2);case '+':return (num1 + num2);case '-':return (num1 - num2);case '%':return (num1 % num2);}}int Answer(TreeNode* tempTreeNode) {int num1;int num2;if (tempTreeNode->rightNode == nullptr && tempTreeNode->leftNode == nullptr)return tempTreeNode->data - 48;else {num1 = Answer(tempTreeNode->leftNode);num2 = Answer(tempTreeNode->rightNode);return Condition((char)tempTreeNode->data, num1, num2);}}
};int main() {char data1[]{ ' ', '+', '*', '%', '6', '3', '9', '5' };TreeNode* treeNode;treeNode = Tree::CreateExpression(data1, 1, 8);cout << "前序遍历:" << endl;Tree::Preorder(treeNode);cout << endl;cout << "中序遍历:" << endl;Tree::Inorder(treeNode);cout << endl;cout << "后序遍历:" << endl;Tree::Postorder(treeNode);cout << endl;cout << "二叉运算树结果值:" << endl;cout << Tree::Answer(treeNode) << endl;return 0;
}

结果输出

http://www.dinnco.com/news/3960.html

相关文章:

  • 网站建设作用杭州网站制作排名
  • 网页设计欣赏作品外贸网站seo
  • web到wordpress宁波核心关键词seo收费
  • 长沙水业网站是哪家公司做的济南网站优化排名
  • 中国最大的中文网站站长平台网站
  • 免费产品网站建设电脑培训班速成班
  • 微博建网站环球贸易网
  • 网站规划与建设模板东莞网络科技公司排名
  • 网站开发中的qq登录seo手机关键词网址
  • 牡丹江建设信息网站公司网站如何制作
  • 做网站的素材图片推广app平台
  • 济南公司做网站的价格三只松鼠搜索引擎营销案例
  • 网站优化建设公司谷歌seo教程
  • 企业网站推广技术百度推广怎么赚钱
  • 网站推广产品怎么做百度销售系统
  • 网站建设中最重要的环节是什么宁波seo智能优化
  • 锦屏县城乡和建设局网站长春疫情最新消息
  • 龙岗网站关键词优化代理怎么营销一个产品
  • 海兴县建设工程招标信息网站站点搜索
  • 怎么自己建设网站宣传平台有哪些
  • 网站建设表格代码关键词挖掘方法
  • 沈阳人流需要多少钱大概多少钱百度搜索结果优化
  • 视频网站做电商报个电脑培训班要多少钱
  • 家政服务网站模板新闻今日头条最新消息
  • 阿里云营销网站建设重庆网站seo好不好
  • 网站模块图如何推广自己的店铺?
  • 物业管理网站开发背景石家庄网站建设案例
  • 开发公司都有什么部门惠州抖音seo
  • 网站线上投票怎样做互联网推广有哪些方式
  • 站酷设计网南京seo优化