zoukankan      html  css  js  c++  java
  • (转)(c#)数据结构与算法分析 树

     


        首先,在win下,进入命令行,输入tree,它会以树的形式返回当前文件夹下的所有子文件夹及文件。



        如上图,就是一个树。

        就像一棵被颠倒过来的苹果树,每一个元素称之为节点,如图,A就是这棵树的老大了,称为(root),如果某个节点有元素的话,这个节点相对于它的子节点为根,这棵树相对于A来说,是它的子树,例如,树D是A的子树。

        对于没有子节点的节点,称之为节点。

        这些树的根都被来自跟的每一条有向的所连接。例如树E被来自根A的有向边TAE所连接。树J被来自根E的有向边TEJ所连接。

        那么从一个节点到另外一个节点的所有节点序列称为路径,路径上边的条数就是这条路径的了。可以看出,路径的长为所经过节点的个数减一。例如,路径EQ,它的长就是2。

        深度就是根节点与这个节点的路径的长,比如,节点P和Q的深度就是3,节点K的深度就是2。

    树的表示
        可以用链表来表示一棵树。如图:


        如图,A是链表的第一个元素,G是最后的一个元素,如果元素有子节点,那么这个元素就是这棵树的链表。

        如箭头所指,ABCDEFG是一个链表,而节点DEFG是有子节点的树,所以DEFG元素存储的是另一个链表,比如E存储的是EIJ链表,以此类推,J存储的是JPQ链表,所以,一棵数不管有多大多深,都可以用一个链表表示,只不过这个链表包含了其他链表。

    版权说明:作者:张颖希PocketZ's Blog
    出处:http://www.cnblogs.com/PocketZ
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    若本文为翻译内容,目的为练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖

  • 相关阅读:
    海量数据处理方法
    转:海量数据找中位数
    c显示数字的LED(数字转LED)
    转:30分钟掌握STL
    jQuery 顶部导航尾随滚动,固定浮动在顶部
    使用Visual Studio 创建新的Web Part项目
    java日期工具类
    林志玲为何无法拯救都市丽人的遇冷?
    【LeetCode】Swap Nodes in Pairs
    mysql 数据库备份ubuntu
  • 原文地址:https://www.cnblogs.com/PocketZ/p/1711986.html
Copyright © 2011-2022 走看看