| 1、在盘算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。(百度百科) 广度优先搜索(Breadth First Search),又叫宽度优先搜索或横向优先搜索,是从根结点开始沿着树的宽度搜索遍历,上面二叉树的遍历顺序为:ABCDEFG. 深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。 2、二叉树的实现 二叉树的结点包含data,left,right,通过一些结点之间的关系就可以构造二叉树; 二叉树节点类 View Code复制代码class Node<T>{    T data;    Node<T> left;    Node<T> right;    public Node(T value)    {        data = value;        left = null;        right = null;    }    public Node()    {        data = default(T);        left = null;        right = null;    }    public Node(T value,Node<T> lChild,Node<T> rChild)    {        data = value;        left = lChild;        right = rChild;    }    public T Data    {        get { return data; }        set { data = value; }    }    public Node<T> Left    {        get { return left; }        set { left = value; }    }    public Node<T> Right    {            get { return right; }        set { right = value; }    }}                       
3、二叉树类View Code 
  深度遍历:(根节点A的位置)   先序输出:A   B  D  G  H  E  C  K  F  I  J    中序输出:G  D  H  B   E  A  K  C  I  J  F   后序输出:G  H  D  E   B  K  J  I   F C  A 广度遍历:   A   B  C  D  E  K  F  G  H  I  J     面试遇到的,于是在网上学习,自己总结一下。小菜瓜,第一次发。有什么问题望多多提,一起学习。往后我会把自己总结的Unity   lua等都会一一发出来共享。独乐乐不如众乐乐嘛,一起进步。------一点都不v5的小菜瓜。 来源:https://www.cnblogs.com/yuanwenqiang/p/11347886.html
 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
 |