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

一级a做爰片i免费网站天府新区建站公司

一级a做爰片i免费网站,天府新区建站公司,如何判断一个网站是恶意网站,揭秘低价网站建设危害导言 前面以及有了堆的基础,现在来学习二叉树。二叉树的学习和前面的数据结构很不一样,前面我们主要学习用数据结构储存数据,以及实际手搓数据结构的增删查改;而学习二叉树主要是为我们以后学搜索二叉树以及后面的AVL树等数据结构…

导言

前面以及有了堆的基础,现在来学习二叉树。二叉树的学习和前面的数据结构很不一样,前面我们主要学习用数据结构储存数据,以及实际手搓数据结构的增删查改;而学习二叉树主要是为我们以后学搜索二叉树以及后面的AVL树等数据结构做准备,我们主要学习遍历二叉树,学一下二叉树的结构。

二叉树的遍历

二叉树由结点组成,一个父节点最多有两个子节点

相信大家基本上都在学校学习过二叉树的遍历,但是其中的具体细节不一定清楚明白。

二叉树的遍历根据访问根节点的顺序分为三种

前序遍历:先访问根节点,然后遍历左子树,最后遍历右子树。

中序遍历:先遍历左子树,然后访问根节点,最后遍历右子树。

后序遍历:先访遍历左子树,然后遍历右子树,最后访问根节点。

前序遍历

接下来我们来手动测试一下前序遍历

前置说明

这里我们来定义一下二叉树的结构

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>typedef struct BinaryTreeNode
{int data;struct BinaryTreeNode* left;struct BinaryTreeNode* right;
}BTNode;

在测试的我们可以自己手搓一个二叉树测试用例出来

BTNode* BuyNode(int x)
{BTNode* node= (BTNode*)malloc(sizeof(BTNode));if (node == NULL){perror("malloc fail");return NULL;}node->data = x;node->left = NULL;node->right = NULL;
}BTNode* CreatBinaryTree()
{BTNode* b1 = BuyNode(1);BTNode* b2 = BuyNode(2);BTNode* b3 = BuyNode(3);BTNode* b4 = BuyNode(4);BTNode* b5 = BuyNode(5);BTNode* b6 = BuyNode(6);b1->left = b2;b1->right = b4;b2->left = b3;b4->left = b5;b4->right = b6;return b1;
}

这样我们就得到了一个二叉树

接下来用代码实现前序遍历,用递归实现。如果是NULL输出N并返回(注意return 不会直接结束程序,而是结束这次函数调用,如果是递归实现,可能还有很多次函数调用),否则输出data.


//前序遍历
void PrevOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}printf("%d ", root->data);PrevOrder(root->left);PrevOrder(root->right);
}

调用关系图(逻辑图):

 栈帧开辟销毁情况:

代码运行结果

 中序遍历

遍历的顺序不同就是访问头节点的顺序不同,中序遍历就是访问左子树后才访问头节点

//中序遍历
void InOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}InOrder(root->left);printf("%d ", root->data);InOrder(root->right);
}

我们先来看看运行结果

调用关系图(逻辑图):

 

后序遍历

//后序遍历
void PostOrder(BTNode* root)
{if (root == NULL){printf("N ");return;}PostOrder(root->left);PostOrder(root->right);printf("%d ", root->data);}

执行结果:

调用关系图(逻辑图): 

 

http://www.yayakq.cn/news/448203/

相关文章:

  • 山东省建设执业官方网站甘肃兰州怎么样
  • 南阳网站建设培训班合肥市蜀山区建设局网站
  • 网页链接成整体通过网站自己做的网站发到网上
  • 郴州网站建设公司简介简历模板网站有哪些
  • wordpress设置网站地址广州市口碑seo推广
  • 查不到备案的网站网站建设 技术 哪些内容
  • 长沙建网站公司主页怎么填
  • 内丘网站华大基因 网站建设公司
  • .net cms网站管理系统wordpress定制企业站
  • 龙岩天宫山海拔高度多少怎么知道别人网站是谁做的优化
  • 上海营销型网站建设团队wordpress 文章页当前栏目链接
  • 网站app下载平台怎么做的网站建站加盟
  • 广州公司网站建设推广绿色国外网站
  • 网络销售怎么做网站电话卡免费申请
  • 网站排名掉了做照片的网站
  • 网站建设销售好做嘛linux nginx wordpress
  • 建设大型网站需要什么硬件网站做推广团队
  • 仿牌网站安全品牌建设建议
  • 优秀网站架构小学生制作ppt的软件
  • 惠阳区规划建设局网站传统网站有没有建设必要性
  • 建设企业查询网站保定网站制作报价
  • 可以免费网络推广网站上海市崇明县建设中学网站
  • 淘客网站怎么建设网级移动营销app
  • 五站合一网站建设wordpress听歌插件
  • 泉州做网站seo企业网站 asp php
  • 苏州做网站公司怎么样镇江网站排名优化价格
  • 网站收录做关键词排名建立个人网站怎么赚钱
  • 网站的搭建需要多少钱阿里云服务器win系统建站教程
  • 客户端建站快照首页排名优化服务
  • 西双版纳网站建设开发公司律所网站建设国队男子接力赛