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

转载于:https://www.cnblogs.com/Jessy/archive/2010/11/04/1869247.html

(转)(c#)数据结构与算法分析 --树相关推荐

  1. 数据结构与算法分析(C++版)(第二版)

    查看书籍详细信息: 数据结构与算法分析(C++版)(第二版) 内容简介 本书采用程序员最爱用的面向对象C++语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种类型 ...

  2. 数据结构与算法分析c++第四版_研分享 | 人工智能学院数据结构与算法分析考研备考整理...

    数据结构与算法分析 1.在顺序表中插入或删除一个元素,需要平均移动(表中一半)元素,具体移动的元素个数与(表长和该元素在表中的位置)有关. 2.如果有两个数,每个数的所有约数(除它本身以外)的和正好等 ...

  3. 二叉堆(最小堆)(数据结构与算法分析的代码实现)

    "堆是一棵被完全填满的二叉树,可能的例外是在底层,底层上的元素从左到右填入.这样的树称为完全二叉树" "因为完全二叉树很有规律,所以可以用一个数组表示而不需要使用链&qu ...

  4. 算法数据结构(一)-B树

    介绍 B树的目的为了硬盘快速读取数据(降低IO操作次树)而设计的一种平衡的多路查找树.目前大多数据库及文件索引,都是使用B树或变形来存储实现. 目录 为什么B树效率高 B树存储 B树缺点 为什么B树效 ...

  5. 数据结构与算法分析:C语言描述(原书第2版 简体中文版!!!) PDF+源代码+习题答案...

    转自:http://www.linuxidc.com/Linux/2014-04/99735.htm 数据结构与算法分析:C语言描述(原书第2版中文版!!!) PDF+源代码+习题答案 数据结构与算法 ...

  6. python数据结构与算法分析_数据结构和算法分析

    问题引出 假设有一道题目:有一组N个数而要确定其中第k个最大者,我们称之为选择问题,那么这个程序如何编写?最直观地,至少有两种思路: 1.将N个数读入一个数组中,再通过某种简单的算法,比如冒泡排序法, ...

  7. 数据结构(c语言版) 计算机科学丛书,数据结构与算法分析--C语言描述(原书第2版)(计算机科学丛书)...

    摘要: 本书讨论数据结构和算法分析.数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估.随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切.可是,由于在输入 ...

  8. 数据结构与算法分析 收获总结 第1章 数据结构和算法

    这学期学这门课到现在为止,还是感觉难度很大,当然老师可能讲得也有点偏离书本,有时候听得有点蒙. 干脆来根据教材写个总结,用的教材是 <数据结构与算法分析>C++ 第3版 电子工业出版社 第 ...

  9. 计算机考研科目887,2017年华中科技大学887数据结构与算法分析考研试题

    2017年华中科技大学887数据结构与算法分析考研试题本站小编 免费考研网/2020-02-27 一.名词解释(25分,1个5分) 1.1堆分配存储表示 1.2完全图 1.3树的结点层次 1.4拓扑排 ...

最新文章

  1. php file抓取不到内容,深入file_get_contents函数抓取内容失败的原因分析
  2. RHEL 5 设置 YUM
  3. MyBatis的foreach语句详解
  4. 雅可比旋转求解对称二维矩阵的特征值和特征向量
  5. 【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用
  6. html第二章课后选择题答案,HTML课后习题(带答案).doc
  7. 从零实现深度学习框架——深入浅出交叉熵
  8. Linux内核的裁剪移植,Linux内核裁剪移植学习分享
  9. open source Lrc歌词解析器发布
  10. C# 纯真数据库读取
  11. 智慧校园视频监控管理系统平台建设的详情分析
  12. 曲线与曲面的微分几何
  13. 单片机课程设计题目及要求——电风扇模拟控制系统(仿真图加代码加原理图都有)
  14. 电脑能上qq等软件但是浏览器打不开网页
  15. activeMQ启动失败61616port被占用问题
  16. 学习笔记-Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
  17. 恋前体检!您接受吗?
  18. java指针压缩临界值
  19. 源码圈 300 胖友的书单整理
  20. nuget 构建自己的包_适用于企业的NuGet:持续集成自动构建系统中的NuGet

热门文章

  1. 怎样知道pip install 可以安装包的哪些版本
  2. 1035 插入与归并
  3. ZJU-java进阶笔记 第一、二周(类与对象,对象交互)
  4. 布尔定理及证明(完整版)
  5. css代码应该放html哪里,css代码放到哪里?
  6. UI培训教程分享:APP启动页UI界面设计
  7. 从一道面试题分析Thread.interrupt方法
  8. Python optionParser模块的使用方法
  9. MailMail、RegeX等程序的云端版
  10. 《中国人工智能学会通讯》——1.42 理解情感