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

数据结构之树(3)

一、森林和树的转换

重要!

树->二叉树

由于孩子兄弟链式存储和二叉树链式存储本质相同,故树可转换为二叉树。

森林->二叉树

森林:m棵互不相交的树的集合

森林->树 树->二叉树

森林中各个树的根节点之间视为兄弟关系

二、树的遍历

先根遍历

先访问根节点,在先根遍历下一棵子树

A  B  C  D

A (B E F) (C G) (D H I J)

A B E K F C G D H I J

后根遍历

先后跟遍历下一棵子树,尽头的时候再访问根结点并回溯

((K E) F B) (G C) (H I J D) A

先根遍历和后根遍历均是深度优先遍历

附:

森林的遍历(此部分在刷题的时候较少遇到,所以略过,详见5.4_2_树和森林的遍历_哔哩哔哩_bilibili)

其实本质就是森林转二叉树,再用二叉树的知识解决。

先序遍历

访问森林中第一棵树的根节点

先序遍历第一棵树中根节点的子树森林

先序遍历除去第一棵树之后剩余树构成的森林

效果等同于依次对各个树进行先根遍历

依次对二叉树的先序遍历

中序遍历


http://www.kler.cn/news/334969.html

相关文章:

  • 简单认识 redis -3 -其他命令
  • HDU Sit sit sit (区间DP+组合数)
  • 打造自己的RAG解析大模型:Windows部署OCR服务(可商业应用)
  • springboot网上商城源码分享
  • Chromium 中JavaScript Console API接口c++代码实现
  • Goland 设置GOROOT报错 The selected directory is not a valid home for Go SDK
  • C语言:预编译过程的剖析
  • npm、yarn、pnpm之间的区别
  • 构建数字化生态平台,开启企业新未来
  • 冯诺依曼体系|操作系统
  • 服务器租用与托管注意事项有哪些?
  • [Day 84] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 【包教包会】2D图片实现3D透视效果(支持3.x、支持原生、可合批)
  • ElasticSearch备考 -- Multi match
  • 代码随想录算法训练营第35天|1049.最后一块石头的重量II、494.目标和、474.一和零
  • 词嵌入(Word Embedding)之Word2Vec、GloVe、FastText
  • Hive数仓操作(十七)
  • 趣味SQL | 从围棋收官到秦楚大战的数据库SQL实现(下)
  • Linux高级编程_29_信号
  • 【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解