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

林业厅网站建设方案为什么用wp做网站

林业厅网站建设方案,为什么用wp做网站,江山市住房和城乡建设局网站,免费的软件网站目录 0.写在前面 1.前序遍历 步骤详解 代码实现 2.中序遍历 步骤详解 代码实现 3.后序遍历 步骤详解 代码实现 0.写在前面 认识二叉树结构最简单的方式就是遍历二叉树。所谓遍历二叉树就是按照某种特定的规则#xff0c;对二叉树的每一个节点进行访问#xff0c;… 目录 0.写在前面 1.前序遍历 步骤详解 代码实现 2.中序遍历 步骤详解 代码实现  3.后序遍历 步骤详解 代码实现 0.写在前面 认识二叉树结构最简单的方式就是遍历二叉树。所谓遍历二叉树就是按照某种特定的规则对二叉树的每一个节点进行访问且每个节点只访问一次。 二叉树遍历的规则一般有四种前序遍历、中序遍历、后序遍历和层序遍历。其中前三种较为简单且实现方式大同小异。 1.前序遍历先访问根节点再遍历左右子树 2.中序遍历先遍历左子树再访问根节点再遍历右子树 3.后序遍历先遍历左子树再遍历右子树再访问根节点。 简单记忆前根左右、中左根右、后左右根。 在遍历二叉树之前首先得拥有一棵二叉树。因为目前还没有学习如何构建二叉树所以此处我们用最原始的办法——申请N个节点将它们手动拼接为二叉树。 typedef int BTDataType;//二叉树节点的结构 typedef struct BTNode {BTDataType data;struct BTNode* left;struct BTNode* right; }BTNode;//定义一个申请新节点的函数 BTNode* BuyBTNode(BTDataType data) {BTNode* newNode (BTNode*)malloc(sizeof(BTNode));if (newNode NULL){perror(malloc fail);exit(-1);}newNode-data data;newNode-left NULL;newNode-right NULL;return newNode;}int main() {//手动申请节点加连接BTNode* n1 BuyBTNode(1);BTNode* n2 BuyBTNode(2);BTNode* n3 BuyBTNode(3);BTNode* n4 BuyBTNode(4);BTNode* n5 BuyBTNode(5);BTNode* n6 BuyBTNode(6);n1-left n2;n1-right n4;n2-left n3;n4-left n5;n4-right n6;return 0; } 1.前序遍历 前序遍历先访问根节点再访问左子树再访问右子树 void PrevOrder (BTNode* root) 为了更好的理解前序遍历的规则接下来展示一下详细步骤。 步骤详解 1.先访问根节点 data 1再访问左子树  2.再访问左子树的根节点data   2再访问左子树的左子树 3.依旧先访问根节点data 3此时 n3 节点的左右子树都为 NULL 则不再往下递归回到上一层接着访问上一层的右子树 4.因为 n2 节点的右子树为 NULL所以继续返回上一层访问上一层的右子树 5.访问右子树的根节点data 4再访问右子树的左子树先左子树的根节点data 5n5 节点的左右子树都为 NULL返回上一层访问右子树data 6同样 n6 节点的左右子树都为 NULL返回上一层。 至此每个节点都访问完毕总体的访问顺序是这样的 按照访问顺序打印的结果应该是空节点用 NULL 表示 1 2 3 NULL NULL NULL 4 5 NULL NULL 6 NULL NULL  代码实现 按照前序遍历的逻辑前序遍历的实现肯定是离不开递归。 void PrevOrder(BTNode* root) {if (root NULL){ printf(NULL );//空节点用 NULL 表示return; }printf(%d , root-data);//前序在前PrevOrder(root-left);PrevOrder(root-right); } 凑合着看有点丑陋hhhhh  运行程序看结果是否与之前推理的结果一致 int main() {//手动申请节点加连接BTNode* n1 BuyBTNode(1);BTNode* n2 BuyBTNode(2);BTNode* n3 BuyBTNode(3);BTNode* n4 BuyBTNode(4);BTNode* n5 BuyBTNode(5);BTNode* n6 BuyBTNode(6);n1-left n2;n1-right n4;n2-left n3;n4-left n5;n4-right n6;PrevOrder(n1);return 0; } //推理结果 1 2 3 NULL NULL NULL 4 5 NULL NULL 6 NULL NULL  2.中序遍历 前中后序三种遍历大同小异实现代码也几乎相同。 void InOrder(BTNode* root) 步骤详解 代码实现  void InOrder(BTNode* root) {if (root NULL){printf(NULL );return;}PrevOrder(root-left);printf(%d , root-data);//中序在中PrevOrder(root-right); } //推理结果 NULL 3 NULL 2 NULL 1 NULL 5 NULL 4 NULL 6 NULL 3.后序遍历 步骤详解 参考1、2。 代码实现 void PostOrder(BTNode* root) {if (root NULL){printf(NULL );return;}PostOrder(root-left);PostOrder(root-right);printf(%d , root-data);//后序在后 }
http://www.hkea.cn/news/14417422/

相关文章:

  • 动漫项网站建设项目项目建议书搭建网站账户系统
  • 宜宾网站网站建设chinacd wordpress第三性
  • 公司网站开发详细流程空间设计公司网站
  • 网站搜索引擎优化案例做好的网页上传到wordpress
  • 网站建设365电子商务公司是干什么的
  • 游戏网站建设多少钱公司网公司网页设计制作
  • 厦门企业如何建网站用dw做一个个人网站
  • 网站建设 体会手机兼职免费加入不需要任何费用
  • 自己有域名怎么做免费网站企业网站建设多少钱
  • 展会网站制作北京市建设工程信息网交易网
  • 网站设计哪家公司好企业邮箱格式怎么注册
  • 海纳百川网站建设个人网站可以做百度推广么
  • 成都网站优化seoseo搜索优化 指数
  • 做机械设计的要知道哪些网站汽车精品网站建设
  • asp 手机网站上海网站制作最大的公司
  • 高质量的丹阳网站建设厦门网站建设114
  • 百度公司网站怎么做wordpress的ssl
  • 龙华网站建设推广外包域名网站都有怎么进去建设
  • 长春专业网站建设推广费用宁浩wordpress
  • 烟台网站制作步骤做网站开发没有人带
  • 做网站赚钱吗 怎么赚anaconda可以做网站吗
  • 手机网站客户端设计与实现迅驰互联网站建设网络推广怎么样
  • 淘宝网站怎么做链接地址中欣卡网上购物商城
  • 如何免费弄一个网站美发网站带手机版
  • 推荐一个免费网站网站开发详细设计
  • 手机软件做的相册怎样传到网站天台县建设局官方网站
  • 八上电脑课做网站需要什么软件东莞企业大全名录
  • html5彩票网站模板佛山 网站
  • 大连高端网站建设wordpress如何重装
  • 公司网站开发找哪家著名的个人网站