zoukankan      html  css  js  c++  java
  • CSharp Algorithm

    /*

    Author: Jiangong SUN

    */


    Here I will introduce the breadth first traversal of binary tree.


    The principe is that you traverse the binary tree level by level. 


    This traversal is quite different than depth first traversal. In depth first traversal you can use recursive method to traverse.


    Here is one solution using a queue.


            /// <summary>
            /// breadth-first traversal 宽度遍历树
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="node"></param>
            public void Traversal<T>(Node<T> node)
            {
                //create a Node<T> queue
                var treeQueue = new Queue<Node<T>>();
                //initialize queue with tree root node
                treeQueue.Enqueue(node);
    
                //if queue has elements
                while (treeQueue.Count > 0)
                {
                    //dequeue the queue's first node 
                    Node<T> current = treeQueue.Dequeue();
    
                    //print the node name
                    PrintNodeName(current);
                    
                    //if node has Left leaf, enqueue it
                    if (current.LNode != null)
                        treeQueue.Enqueue(current.LNode);
                    
                    //if node has right leaf, enqueue it
                    if (current.RNode != null)
                        treeQueue.Enqueue(current.RNode);
                }
            }



    references;

    http://www.cs.bu.edu/teaching/c/tree/breadth-first/

    http://hectorea.com/blog/programming-interview-31-binarytree-traversal-by-levels-breadth-first/#

  • 相关阅读:
    Codeforces 1381B Unmerge(序列划分+背包)
    daily overview(2020.03.07update:该网站打不开惹
    矩阵相关
    颓式子
    51nod 1603 限高二叉排列树/1412 AVL树的种类
    模板合集(未完
    【luogu5651】 基础最短路练习题 [?]
    一个大Za
    【2019.11.11】
    【noip2017】
  • 原文地址:https://www.cnblogs.com/aukle/p/3235642.html
Copyright © 2011-2022 走看看