- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
树的遍历:文件目录结构的显示
数据结构课程设计报告
树的遍历:
文件目录结构的显示
专业 计算机科学与技术 学生姓名 杜攀 班级 BM计算机091 学号 0951401108 指导教师 吴 素 芹 起止日期 2011.1.10-2011.1.14
目 录
1 简介 1
2算法说明 4
3测试结果 5
4分析与探讨 6
5小结 8
参考文献 9
附 录 10
附录1 源程序清单 10
树的遍历:文件目录结构的显示
1 简介
1.树形结构
树形结构是一类十分重要的非线性结构,它可以很好地描述客观世界中广泛存在的具体分支关系或层次特性的对象,如操作系统的文件构成、人工智能搜索算法的模型表示以及数据库系统的信息组织形式等。
树的一种参考定义为:树是n(n0)个节点的有穷集合,满足以下条件:
有且仅有一个称为根(Root)的节点。
其余节点分为m(m≥0)个互不相交的非空集合T1,T2,…,Tm,而这些集合本身都是一棵树,称为根的子树(SubTree)。例如在图2.2中,总共有11个节点,其中A是根节点,B,C,D分别A下面的子树,B子树包含子集{E,F,G},C子树包含{H},D子树包含{I,J,K}。B、C、D有共同的父节点A,因此称为兄弟节点。
图2.2 树的示例
2.树的存储结构和树的遍历
(1)三种常用的树的存储结构。
双亲表示法:双亲表示的存储方法利用了每个节点都只有唯一的双亲(父节点)的性质(除根节点以外)。在双亲表示法下,每个存储点由两个域组成:数据域——用语存储树上节点中的数据元素;指针域——用于指示本节点所在的存储节点。其形式如下:
Typedef struct{
ElemType data;
Int parent;
}TreeNode;
在存储整棵树的时候,可以利用一维数组,同时设置两个参数,用来表示根的位置和节点数,其形式如下:
Typedef struct{
TreeNode nodes[MAX_SIZE];
Int root,num;
}Tree;
例如,表2.2表示的是双亲表示的图2.2中树的存储结构。
表2.2 图2.2中树的双亲表示存储结构
数组下标 节点名称 对应的双亲节点下标 0 A -1 1 B 0 2 C 0 3 D 0 4 E 1 5 F 1 6 G 1 7 H 2 8 I 3 9 J 3 10 K 8 孩子链表表示法:树的双亲表示方法在求节点的孩子时需要遍历整个结构,而孩子链表表示法则便于设计对孩子节点的操作。它的实现方法是:把每个节点的孩子节点排列起来,看成是一个线性表,且以单链表作为存储结构,那么n个节点的树将有n个孩子链表;而n个头指针又组成一个线性表,线性表可以采用顺序存储结构。图2.3表示的是图2.2中树的孩子链表表示。
typedef struct ChildNode{
int child;
struct ChildNode*next;
}*ChildPtr;
typedef struct{
ElemType data;
ChildPtr firstchildr;
}CTBox;
typedef struct{
CTBox nodes[MAX_TREE_SIZE];
int n,r;
}CTree;
孩子兄弟双链表表示法:孩子兄弟双亲表示方法中,链表中节点的三个指针域分别指向该节点的父亲点、第一孩子节点和下一兄弟节点,分别命名为Parent域,FirstChild域和NextSibling域。
图2.4表示的是图2.2中树的孩子兄弟双亲链表表示。
Typedef struct TreeNode{
ElemType data;
struct TreeNode*FirstChild,*NextSibling,*Parent;
}TreeNode,*Tree;
孩子双亲链表的节点形式:
*FirstChild data *NextSibling *Parent
图2.4 图2.2中树的孩子兄弟双亲链表表示
2算法说明
输入要求:
输入数据包含几个测试案例。每一个案例有几行组成,每一行都代表了目录树的层次结构。第一行代表目录的根节点。若是目录节点,那么它的孩子节点将在第二行中被列出,同时用一对圆括号“()”界定。同时,如果这些孩子节点中某一个
您可能关注的文档
- 杀手数独题目.doc
- 杂志行销.ppt
- 权衡你的产品要的是体验,还是便利.doc
- 李利军论文.doc
- 李嘉诚传记.doc
- 李宁货品分析.ppt
- 杂志媒体的特征.ppt
- 李开复 第六封信--选择的智慧.doc
- 李开复写给大学生的第一封信 和第二封信.doc
- 李晶毕业论文开题报告.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 手术室人员行为管理与规范.pptx VIP
- 2025年呼和浩特市土默特左旗社区工作者招聘考试试题 .pdf VIP
- 卫生院优质服务基层行创建资料(1.1.2主要任务).docx VIP
- 2025年教职工疗休养服务项目212页.docx VIP
- 2025年内蒙古自治区中考语文试题卷(含答案解析).docx
- 中学生英才计划面试常见问题.docx VIP
- 社会组织矛盾纠纷排查化解工作总结.pptx VIP
- 近十年管综数学真题.pdf VIP
- 13、安放式支管台组对焊接.pptx VIP
- SIEMENS西门子 SIMATIC ET 200SP 电机启动器 (3RK1308‑0..00‑0CP0)设备手册.pdf VIP
文档评论(0)