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

动态网站怎么做天津网站优化

动态网站怎么做,天津网站优化,新公司需要做网站,wordpress 自定义文章列表目录 前言: 层序遍历: 解析: 前言: 本文主讲链式二叉树的层序遍历,在前面的张篇blog我们初步实现了链式二叉树递归部分的内容,对于递归算法的学习和思维方式我们仍然需要不断加强,所以将对链式二叉树进行…

目录

前言:

层序遍历:

解析:


前言:

本文主讲链式二叉树的层序遍历,在前面的张篇blog我们初步实现了链式二叉树递归部分的内容,对于递归算法的学习和思维方式我们仍然需要不断加强,所以将对链式二叉树进行收尾,下一章我们将开启递归算法的题目强化训练。

层序遍历:

typedef struct BTTreeNode* QDataType;
//将链队列中的节点类型改为struct BTTreeNode(二叉树节点的数据类型)void TreeLevelOrder(TreeNode* root)
{Queue q;QueueInit(&q);if (root == NULL){printf("空树\n");exit(-1);}int levelsize = 1;QueuePush(&q, root);while (!QueueEmpty(&q)){while (levelsize--){TreeNode* front = QueueFront(&q);printf("%d ", front->data);if (front->left){QueuePush(&q, front->left);}if (front->right){QueuePush(&q, front->right);}QueuePop(&q);}printf("\n");levelsize = QueueSize(&q);}printf("\n");QueueDestroy(&q);
}

层序遍历不需要用到递归的思想,用我们之前学习过的队列的知识就可以实现层序遍历。

这里是用到队列的先进先出的特性。

以上是一颗二叉树,现在要实现该数的层序遍历,最终结果为:

1

2 4

3 5 6

解析:

    Queue q;QueueInit(&q);if (root == NULL){printf("空树\n");exit(-1);}int levelsize = 1;QueuePush(&q, root);

 对于这一串代码,就是定义队列并且初始化,并将根节点入队列,再定义一个队列长度,用来接受队列里的节点数,当levelsize为空时,就代表当前层数的节点已经打印完毕。因为是将根节点入队列,而且第一层有且只有一个节点,即根节点,所以levelsize = 1;

while (!QueueEmpty(&q)){while (levelsize--){TreeNode* front = QueueFront(&q);printf("%d ", front->data);if (front->left){QueuePush(&q, front->left);}if (front->right){QueuePush(&q, front->right);}QueuePop(&q);}printf("\n");levelsize = QueueSize(&q);}

 

目前的队列如上图所示。

首先我们需要将定义front指针指向队列的第一个元素。

此时我们需要将root的左右子树入队列,首先我们需要判断左右子树是否为空树。

如果不是空树就入队列。

则有:

 

而这个时候front指向的节点会被先打印出来,再出队列,这时候front就会指向下一个节点,并且levelsize也为0,因为这时候队列的首数据已经出队列,所以队列中只有两个数据,那么levelsize就会被赋值为2。

如图:

 

 同样,接下来就是判断front指向的节点的左右子树是否为空,不为空则入队列。

即:

由于levelsize为2,所以程序会打印队列的前两个数据,即24

2打印完后,front就会指向4这个节点,同样也会判断该节点的左右子树是否为空,不为空则入队列。

如图:

 

然后打印完4的节点后,levelsize又会被赋值为3,用来答应下一层的节点。

 

如此不断重复,层序遍历则完美实现。 

http://www.mmbaike.com/news/39713.html

相关文章:

  • 国字型网站建设布局优秀网站设计网站
  • 郑州做网站那新的营销模式有哪些
  • 在凡科上做的网站无法加载出来百度指数首页
  • seo短视频网页入口引流在线看郑州网站优化哪家好
  • 国外建站网址泰州seo网站推广
  • 百度推广对网站的好处百度seo关键词排名查询工具
  • 找做网站技术人员高手优化网站
  • 网站权限设置郑州seo排名公司
  • 企业管理网站的来历百度seo关键词排名技术
  • 做网站为什么要用固定ip全网营销型网站
  • 做的网站很卡百度指数关键词工具
  • 电子商务网站设计与...运营推广怎么做
  • 比较好的 网站统计系统 php源码谷歌商店paypal官网下载
  • 做网站月入1000苏州网站优化公司
  • 做室内效果图网站网页设计与制作个人网站模板
  • 家里面的服务器可以做网站吗网络推广的手段
  • 购物网站网页设计模板公关策划公司
  • 响应式网站建设代理商中国联通和腾讯
  • 服务器分配网络提高网站访问速度公司网络推广该怎么做
  • 校园网站页面设计网络推广哪家好
  • 专门做详情页的网站seo网络推广师招聘
  • visual studio做的网站目前搜索引擎排名
  • 商标名称查询系统西安关键词排名优化
  • 免费打广告网站网络营销策划方案书范文
  • 网站开发所需费用支出有哪些网站正能量免费推广软件
  • 德持建设集团有限公司网站百度广告推广价格
  • 网站改版 报价百度关键词优化公司哪家好
  • 网站建设是什么意思长沙网络推广外包费用
  • 网络seo培训做关键词优化
  • 佛山响应式网站建设武汉新一轮疫情