(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链表,所以,一棵数不管有多大多深,都可以用一个链表表示,只不过这个链表包含了其他链表。

posted on 2008-04-13 02:04 黑暗伯爵 阅读(240) 评论(1)  编辑 收藏 所属分类: (c#)数据结构与算法分析

评论

#1楼  2008-04-13 19:28 留恋星空      

期待下一篇   回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接:
 


公告

拙劣的文字记录颓废的生活

导航

<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

统计

与我联系

搜索

 

常用链接

留言簿(2)

我的标签

随笔分类

随笔档案

相册

nasboq

最新评论

阅读排行榜

评论排行榜