<<大话数据结构>>之浅谈二叉树

编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲。

《<<大话数据结构>>之浅谈二叉树》” />    大话数据结构修改版</p></p><h4>学习二叉树的意义</h4><p>由于二叉树的知识更倾向于理论,所以我们在实际应用开发过程中使用的并不多,但是二叉树作为数据结构的一个重要的组成部分,所以,在程序猿的面试过程中,会经常遇到二叉树知识相关问题.所以学习二叉树是相当有必要的.</p></p><h4>二叉树的结构和特点</h4><p>想要了解二叉树的相关知识,就要先要了解二叉树的结构和特点.只有了解二叉树的结构和它的特点,才能更好的学习二叉树.</p><p>我们先看一下二叉树的定义是如何的.</p><p><img layer-src=

中序遍历
内容:中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。即:
若二叉树为空则结束返回,否则:
  • (1)中序遍历左子树。
  • (2)访问根结点。
  • (3)中序遍历右子树。

《<<大话数据结构>>之浅谈二叉树》” />    中序遍历</p><p>我们还是使用递归的思想来进行遍历,不解释,直接上代码</p><pre><code>void inOrder(struct BTreeNode *bt){
   if(bt != NULL){
       inOrder(bt->left); /* 中序遍历左子树 */
        printf(

后序遍历
内容:后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。即:

若二叉树为空则结束返回,否则:

  • (1)后序遍历左子树
  • (2)后序遍历右子树
  • (3)访问根结点

《<<大话数据结构>>之浅谈二叉树》” />    后序遍历</p><p>直接上代码..</p><pre><code>void inOrder(struct BTreeNode *bt){
   if(bt != NULL){
       inOrder(bt->left); /* 后序遍历左子树 */
       inOrder(bt->right); /* 后序遍历右子树 */
        printf(

关于数据结构中的二叉树相关知识 就给大家说到这,谢谢大家,希望您能喜欢.
    原文作者:神经骚栋
    原文地址: https://www.jianshu.com/p/c5d48937f2d9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞