当前位置: 首页 > news >正文

织梦网站动态国家企业信息系统查询系统

织梦网站动态,国家企业信息系统查询系统,ftp网站备份,怎么做公司网站制作1.知识总览 一般的树会有多个孩子#xff0c;所以存储结构也会与二叉树略有不同。 一般树的遍历。 2.双亲表示法 双亲表示法#xff0c;也是父亲表示法#xff0c;即每个节点中都存储了其父节点的地址信息。 特性#xff1a;可以轻易地找到父节点#xff0c;但寻找孩子节…1.知识总览 一般的树会有多个孩子所以存储结构也会与二叉树略有不同。 一般树的遍历。 2.双亲表示法 双亲表示法也是父亲表示法即每个节点中都存储了其父节点的地址信息。 特性可以轻易地找到父节点但寻找孩子节点麻烦。 顺序储存每个节点都储存有其对应的父节点数组下标根节点默认为-1且在顺序表中只有下标为0其内存有-1的节点是根结点。 i.代码 //定义树最多有多少节点 # define MAX 10 //定义树的节点 class PTNode { public://数据元素int data;//父节点位置域int parent; }; //定义树 class PTree { public:PTNode nodes[MAX];//指示当前节点个数int n; }; 删除节点的思路 法一将待删除节点储存的父节点下标设置为-1意指该节点为空。 法二将数组最末尾的节点覆盖到待删除节点的位置该法更优可以保证前n个节点都是有意义的。 在删除过程中如果删除的节点还有孩子那么其实是在删除以它为根的子树此时就需要查询到这个子树包含的所有节点很显然这需要非常麻烦的遍历非必要不用顺序存储。 3.孩子表示法 顺序链式存储用数组储存所有节点在节点内部用链式结构储存与它直接相连的孩子节点下标没有孩子的孩子没有孙子辈的。 特性找孩子简单找父亲难。 i.代码 //链表节点的结构 class CTNode { public://孩子节点在数组中的位置int child;//下一个节点下一个儿子不是孙子CTNode* next; }; //包含链表的节点 class CTBox { public://数据int data;//第一个孩子CTNode* firstChild; }; //树 class CTree { public:CTBox nodes[MAX];//指示已有节点数和根节点的位置int n, r; }; 同样也有一个弊端就是难以找到双亲。 4.孩子兄弟表示法 此法为链式存储旨在把一般树转化为二叉树存储这也是最重要的方法。 节点中有两个指针一个指示自己的第一个孩子是否有孩子一个指示自己的兄弟是否有兄弟。 通过这种遍历就将一般树转化为二叉树存储 i.代码 class CSNode { public:int data;//第一个孩子和右兄弟指针CSNode* firstchild,* nextbrother; }; using CSTree CSNode*; 此法可以用来存储森林每个树都转为二叉树每个根节点都是平级的可以看着兄弟结点。 5.树的先根遍历深度优先遍历 先根先访问根节点再依次对子树进行先根遍历。 在孩子兄弟表示法中对一般树的先根遍历与其对应的二叉树的先序遍历相同。 代码中的部分内容会因为选择的存储结构的不同而有差异。 i.代码 以下用孩子兄弟表示法作为存储结构 class CSNode { public:int data;//第一个孩子和右兄弟指针CSNode* firstchild,* nextbrother; }; using CSTree CSNode*;//先根遍历 void PreOrder(CSTree p) {if (p ! nullptr){//访问子树的根节点visit(p);//如果该节点还有孩子则去访问孩子if (p-firstchild ! nullptr){CSNode* n p-firstchild;PreOrder(n);}//如果该节点还有兄弟则再去访问if (p-nextbrother ! nullptr){CSNode* m p-nextbrother;PreOrder(m);}} } 6.树的后根遍历深度优先遍历 后根其逻辑与后序遍历类似但是在孩子兄弟表示法中出现了不同一般树的后根遍历与其对应的二叉树的中序遍历相同这很反直觉。 7.树的层次遍历广度优先遍历 即逐层遍历与二叉树的层序遍历逻辑基本相同使用队列来辅助实现。 · 队列为空根节点入队 · 队列非空队头出队并访问同时队头如果有孩子则其孩子依次入队。 依次重复以上两个步骤直到队列再次为空。 8.森林的先序遍历中序遍历也是同理的 将森林转换为二叉树再进行先序遍历就是森林的先序遍历。 9.总结图
http://www.hkea.cn/news/14328902/

相关文章:

  • 沧州英文模板建站jsp淘宝客网站
  • 建设银行如何注销网站信息建站都需要什么
  • 博客网站seo什么购物平台质量最好
  • 钓鱼网站在线生成学网站开发顺序
  • 大淘客平台怎么做分销网站国内十大网站建设公司
  • 凡科网做的网站在百度上能找到吗秦皇岛网站团队
  • app资源网站开发互联网创业项目概述
  • 咸阳网站建设培训seo排名优化是什么
  • 济宁建设企业网站网页设计和网站设计的区别
  • 新鸿儒网站建设网络营销策略的概念
  • 手机网站成功案例建设企业门户网站
  • 手机网站封装小程序大学生可做的网站主题
  • 阿里网站年费续费怎么做分录做网站和做电脑软件差别大吗
  • 自己做网站有什么用北京百度seo排名点击器
  • 濮阳网站注册东莞网站设计制作教程
  • 网站开发售后服务能力便利的合肥网站建设
  • 网站网页设计方案cpanel wordpress是什么
  • 舟山网站建设流程网站建设得缺点
  • 网站设计PHP搭建IDC网站
  • 上海交通大学文科建设处网站东莞企业网站定制设计
  • ps做网站顶部网站建设调查通知
  • 我的网站域名是什么北京 网站开发
  • 天津网页模板建站张掖专业做网站的公司
  • 服饰网站模板wordpress 搞笑网站
  • 中小型网站建设效果辽宁省建设工程信息网电话
  • 盘龙网站建设自己做的网站维护一年多少钱
  • 兰州网站制作成都中山网站建设策划方案
  • 设计网站首页景德镇市建设局建设信用网站
  • 源码购买网站外汇网站建设
  • 怎么怎么做网站小猪导航