《北理工数据结构作业2.docx》由会员分享,可在线阅读,更多相关《北理工数据结构作业2.docx(7页珍藏版)》请在优知文库上搜索。
1、北理工数据结构作业2正文:一.作业要求本次数据结构作业2主要涉及以下内容:1 .实现一个二叉树的基本操作;2 .利用二叉树实现一个简单的文件系统。二.实验环境和工具准备为了完成上述任务,需要准备以下环境和工具:1 .编程语言:C+或者Java;2 .集成开辟环境(IDE):推荐使用ViSUalStudioCOde或者Eclipse等;3 .相关库函数/类:如有必要,请自行查阅相关资料并导入相应的库函数/类。三.实验步骤第一部份二叉树基本操作在开始编写代码之前,首先需要定义表示节点的结构体。每一个节点包含两个指针(左子节点指针和右子节点指针),以及存储数据元素值所需的变量。cpp/javastr
2、uctTreeNodeintdata;structTreeNodeIeftChild;structTreeNoderightChild;);2 .创建空白二叉树接下来,在程序中创建一个空白的二叉树。可以通过动态内存分配来达到这个目标。cpp/javaTreeNodeCreateBinaryTree()/创建新节,并初始化为空值注意事项:在释放该内存时,可能会出错,因此请确保正确处理所有情况。3 .插入节点实现一个函数,用于向二叉树中插入新的节点。该函数应接收要插入的值作为参数,并将其放置在合适位置。cpp/javavoidinsertNode(TreeNoderoot,intvalue)/插入
3、新节)4 .删除指定节点编写代码以从二叉树中删除给定值对应的节点。如果找到了匹配项,则需要考虑不同情况下(例如:没有子孩子、惟独左/右孩子或者同时具有左和右孩子)如何处理。cpp/javaTreeNodedeleteNode(TreeNoderoot,intkey)/删除目标结点并返回更新后的二叉树)5 .查找最小/最大元素实现两个功能:-找出整个二叉搜索树中存储数据元素值最小(或者说是“第一”)和最大(也就是“第三”)的节点。这可以在标准中实现,并返回结果值或者指针;-给定具体数值X,寻找存放数字X的目标节点.如果存在则输出已发见否则输出未发见.6 .输出遍历结果7 .测试程序四.文件系统设
4、计为了实现一个简单的文件系统,需要定义表示文件和目录的数据结构。每一个节点应包含以下信息:- 文件名/目录名;- 是否是目录(布尔值);- 父级指针。2 .创建根节点在程序中创建一个代表根目录的特殊节点,并将其作为整个文件系统的起点。cpp/javaTreeNodeCreateRootNodeO/创建并返回新节3 .添加子项到当前路径下编写代码以向给定路径添加新项目(可以是另一个子目录或者具有某种内容类型、大小等属性的普通文档)。确保更新父级指针以反映更改。cpp/javavoidaddltemToPath(TreeNodecurrentDir,stringitemName)(/添加项目至当前路径)4 .删除给定名称对应项及所有后继孩子们.从给定的路径下删除名称对应的文档或者目录,并同时将全部孩子结果进行处置.5 .查找是否存在该名称对应项五.附件说明:本文档涉及如下附件,请参考相关资料进行和使用:1 .数据结构库函数/类:地址2 .示例代码:地址六.法律名词及注释:1 .二叉树:一种特殊的数据结构,其中每一个节点最多有两个子节点。2 .文件系统:用于组织和管理计算机上文件和目录的方法及其实现。