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

微软 网站开发做毕设网站多少钱

微软 网站开发,做毕设网站多少钱,南山做网站价格,进行目的地网站建设二叉树的知识点1#xff1a; 二叉树存储结构 前序建立二叉树 前序遍历、中序遍历、后序遍历#xff08;递归、非递归#xff09; 二叉树节点总数 二叉树叶子节点数 二叉树深度 遍历二叉树第i层节点 分层遍历二叉树#xff08;递归、非递归#xff09; 求二叉树中节点的最大… 二叉树的知识点1 二叉树存储结构 前序建立二叉树 前序遍历、中序遍历、后序遍历递归、非递归 二叉树节点总数 二叉树叶子节点数 二叉树深度 遍历二叉树第i层节点 分层遍历二叉树递归、非递归 求二叉树中节点的最大距离 已知前序、中序重建二叉树: 以下为具体程序在devc中验证正确  /* abd##e##c## 前序a b d e c 中序d b e a c 后序d e b c a */ #includestdio.h #includestdlib.h #includestack #includevector using namespace std; struct node{ char value; struct node * left; struct node * right; }; typedef struct node Node; int max_dis0; //建树 Node* create_tree(){ Node * root NULL; char input; scanf(%c,input); if(input #){ return NULL;               }else{ root (Node *)malloc(sizeof(Node)); if(NULL root){ printf(memory allocation wrong); return NULL; } root-value input; root-left create_tree(); root-right create_tree(); } return root; } //递归前序遍历 void qianxu_travel(Node * root){ if(NULL root){ return; } printf(%c ,root-value); qianxu_travel(root-left); qianxu_travel(root-right); } //递归中序遍历 void zhongxu_travel(Node * root){ if(NULL root){ return; } zhongxu_travel(root-left); printf(%c ,root-value); zhongxu_travel(root-right); } //递归后序遍历 void houxu_travel(Node * root){ if(NULL root){ return; } houxu_travel(root-left); houxu_travel(root-right); printf(%c ,root-value);            } //前序遍历非递归 void qianxu_no_rec(Node* root){ stackNode* s; while(NULL ! root || !s.empty()){ if(NULL ! root){ printf(%c ,root-value); s.push(root); root root-left; }else{ root s.top(); s.pop(); root root-right; }         } } //中序遍历非递归 void zhongxu_norec(Node* root){ stackNode* s; while(NULL !root || !s.empty()){ if(NULL ! root){ s.push(root); root root-left; }else{ root s.top(); s.pop(); printf(%c ,root-value); root root-right; }                    }   } //递归遍历第i层节点 int level_i_travle(Node* root, int level){ if(NULL root || level 0){ return 0; }  if(level 1){ printf(%c ,root-value); } return level_i_travle(root-left,level-1)level_i_travle(root-right,level-1); } //非递归分层遍历二叉树 void level_norec(Node* root){ if(NULL root){ return; } vectorNode* v; v.push_back(root); int cur 0, last 0; while(cur v.size()){   //使用游标不出队列 last v.size(); while(cur last){ printf(%c ,v[cur]-value); if(v[cur]-left){ v.push_back(v[cur]-left); } if(v[cur]-right){ v.push_back(v[cur]-right); } cur ; }       printf(\n); } } //求叶子节点的个数 int leaf_num(Node* root){ if(NULL root){ return 0; } if(NULL root-left NULL root-right){ return 1; } return leaf_num(root-left) leaf_num(root-right); } //求二叉树的节点个数 int node_num(Node* root){ if(NULL root){ return 0; } return 1node_num(root-left)node_num(root-right);   } //求二叉树的高度 int height(Node* root){ if(NULL root){ return 0; } int num1   height(root-left); int num2   height(root-right); if(num1 num2){ return 1num1; }else{ return 1num2; } } //求二叉树中节点的最大距离 int max_distance(Node* root){ if(NULL root){ return 0; } int num1 max_distance(root-left); int num2 max_distance(root-right); if(max_dis (1num1num2)){ max_dis 1num1num2; } if(num1 num2){ return 1num1; }else{ return 1num2; } } //根据前序、中序重建二叉树 void rebuild(char* preOrder, char* inOrder, int treeLen, Node** root){ //边界判断 if(NULL preOrder || NULL inOrder){ return; } Node* p (Node*)malloc(sizeof(Node));  //根节点赋值 p-value preOrder[0]; p-left NULL; p-right NULL; if(NULL *root){ *root p; } if(treeLen 1){    //剪枝 return; } int left_len 0; int right_len 0; int tmp_len 0; char* left_inOrder inOrder;  //求左子树的长度 while(*left_inOrder ! *preOrder){ if(NULL left_inOrder || NULL preOrder){ return; }          tmp_len ; if(tmp_len treeLen){ break; } left_inOrder; } left_len left_inOrder - inOrder; right_len treeLen - 1 - left_len; if(left_len 0){ rebuild(preOrder1,inOrder,left_len,((*root)-left));  //递归建造左子树 } if(treeLen-left_len1 0){ rebuild(preOrderleft_len1,inOrderleft_len1,right_len,((*root)-right));  //递归建造右子树 } } int main(){ Node * root NULL; char* szPreOrder abdcef; char* szInOrder dbaecf; //传指针的指针用于后续打印 /* rebuild1(szPreOrder, szInOrder, 6, root); printf(前序递归遍历序列\n); qianxu_travel(root); printf(\n); */ printf(输入以建立二叉树:\n); root create_tree(); printf(非递归分层遍历二叉树\n); level_norec(root); int k 3; printf(第%d层节点:\n,k); level_i_travle(root,k); printf(\n); printf(叶子节点个数%d\n,leaf_num(root)); printf(节点个数%d\n,node_num(root)); printf(高度%d\n,height(root)); printf(前序递归遍历序列\n); qianxu_travel(root); printf(\n); printf(前序非递归遍历序列\n); qianxu_no_rec(root); printf(\n); printf(中序遍历序列\n); zhongxu_travel(root); printf(\n); printf(中序非递归遍历序列\n); zhongxu_norec(root); printf(\n); printf(后序遍历序列\n); houxu_travel(root); printf(\n); printf(后序非递归遍历序列\n); // houxu_norec(root); printf(节点之间的最大距离:\n); max_distance(root); printf(%d\n,max_dis); destory_tree(root); system(pause); return main(); }
http://www.zqtcl.cn/news/483906/

相关文章:

  • 东营聊城网站建设博客论坛用wordpress
  • 哈尔滨中国建设银行网站首页seo快速入门教程
  • 网站建设项目环境影响评价目录南宁网站建设索王道下拉
  • 广州富邦物流网站建设南宁住房和城乡建设部网站
  • asp.net 公司网站全面的移动网站建设
  • 中国空间站官网app下载平台有哪些
  • 做外贸网站报价单做网站需要什么证件吗
  • 网站可以做视频链接东红物流网站建设规划书
  • 自己的网站网站免费部署
  • 广州专业的网站建设公司镇海seo关键词优化费用
  • 网站建设英文字体格式网络技术培训内容
  • 郑州公司网站设计在西宁做网站可以吗
  • 做最好的言情网站南通优普营销网站建设
  • 毕业设计网站可以做什么辽宁省建设厅网站更新
  • 同城信息网站建设牡丹江网站推广
  • 四川省城乡住房建设部网站首页商丘网站制作公司一二三网络推广
  • asp网站开发全程视频免费发布招聘信息平台
  • 机械网站建设开发网站如何做收录排行
  • 成都市学校网站建设怎样做网站二维码
  • 网站建设企业电话在线照片处理编辑器
  • 长沙建设网站企业wordpress 亲子模板下载
  • 济南seo整站优化价格织梦网站做404页面
  • 石家庄做标书的网站如何选取网站关键词
  • 摄影作品网站推荐wordpress用插件注册
  • pc端兼手机端网站模板中国网站 服务器
  • 江宁区建设工程局网站做网站满屏的照片尺寸是多少
  • 中国设计师网站网站开发需要什么专业的人才
  • 制作网站第一步龙海建设局网站
  • 网站建设的业务规划资源分享类网站模板
  • app与网站数据交互忻州集团网站建设