zoukankan      html  css  js  c++  java
  • [zhuan]二叉树遍历算法实现(C#2.0)

    本人用C#2.0实现了二叉树的定义,怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)遍历二叉树。希望能给有需要人带来帮助,也希望能得到大家的指点。有关C#数据结构的书在书店里找到,网上也是极少,如果你有好的学习资源别忘了告诉我。先谢了。数据结构对一个程序员来说,现在是太重要了,数据结构学得好的人,逻辑思维一定很强,在程序设计的时候,就不会觉得太费劲了。而且是在设计多层应用程序的时候,真是让人绞尽脑汁啊。趁自己还年轻,赶紧练练脑子。哈哈,咱们尽快进入主题吧。

       本程序中将用到一棵已知的二叉树如图(二叉树图)所示。



     


     下面简单介绍一下几种算法和思路:

    先序遍历:

    1.       访问根结点

    2.       按先序遍历左子树;

    3.       按先序遍历右子树;

    4.       例如:遍历已知二叉树结果为:A->B->D->G->H->C->E->F

    中序遍历:

    1.       按中序遍历左子树;

    2.       访问根结点;

    3.       按中序遍历右子树;

    4.       例如遍历已知二叉树的结果:B->G->D->H->A->E->C->F

    后序遍历:

    1.       按后序遍历左子树;

    2.       按后序遍历右子树;

    3.       访问根结点;

    4.       例如遍历已知二叉树的结果:G->H->D->B->E->F->C->A

    层次遍历:

    1.       从上到下,从左到右遍历二叉树的各个结点(实现时需要借辅助容器)

    2.       例如遍历已知二叉树的结果:A->B->C->D->E->F->G->H

    附加整个解决方案代码:

    二叉遍历算法解决方案


    推荐看另一篇随笔:线索二叉树(C# 2.0)
    http://www.cnblogs.com/xuanfeng/archive/2006/09/29/518493.html
  • 相关阅读:
    Java规约之方法设计
    JVM第一篇 JVM与Java体系结构
    初学者学习Java方法集
    初学者学习Java方法集
    1.Spring-Boot 静态文件和页默认放置位置
    2.Spring-Boot常用配置解释
    3.Spring-Boot核心@SpringBootApplication介绍
    4.Spring-Boot中基于Junit的单元测试
    vue学习笔记(一) ---- vue指令(v-for 和 key 属性)
    vue学习笔记(一) ----- vue指令(菜单列表案例)
  • 原文地址:https://www.cnblogs.com/lifuyun/p/lifuyun09091826.html
Copyright © 2011-2022 走看看