• [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
  • 相关阅读:
    C#把外部文件拖入PictureBox中
    DirectInfo.GetFiles返回数组的默认排序
    NULL在SQLServer数据库日志文件中的存储
    C#中用NamedPipe进程间通信
    punycode和中文相互转换
    C#事件和委托的基础知识模型
    反射APP_CODE下的类和方法
    [ListView.View=List]的垂直滚动条
    换个思路"SQL2005下字符串字段内的字符排序"
    mono for android 的ADB
  • 原文地址:https://www.cnblogs.com/lifuyun/p/lifuyun09091826.html
Copyright © 2020-2023  润新知