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

【初赛】二叉树性质和遍历 - Slayer

二叉树的性质与遍历

一、二叉树的基本性质

1. 定义

二叉树是每个节点最多有两个子树的树结构,子树分为左子树和右子树,具有顺序性

2. 关键性质
  • 性质1:在非空二叉树中,第 \(i\) 层最多有 \(2^{i-1}个\)节点
  • 性质2:深度为k的二叉树最多有 \(2^k - 1\) 个节点
  • 性质3:对任何一棵非空二叉树,若叶子节点数为 \(n_0\),度为 2 的节点数为 \(n₂\),则 \(n_0 = n_2 + 1\)
  • 性质4:具有 n 个节点的完全二叉树深度为\(\lfloor \log_2 n\rfloor + 1\)
  • 性质5:完全二叉树中节点编号规律(根节点编号为1):
    • 若节点 i 有左孩子,则左孩子编号为 \(2i\)
    • 若节点 i 有右孩子,则右孩子编号为 \(2i+1\)
    • 若节点 i 有父节点,则父节点编号为 \(\lfloor \frac{i}{2} \rfloor\)

二、二叉树的遍历方式

1. 深度优先遍历(DFS)
  • 前序遍历(根 - 左 - 右)
  • 中序遍历(左 - 根 - 右)
  • 后序遍历(左 - 右 - 根)
2. 广度优先遍历(BFS)- 层次遍历

遍历顺序:按层次依次访问各节点,同一层次从左到右

bfs(s) {q = new queue()q.push(s), visited[s] = truewhile (!q.empty()) {u = q.pop()for each edge(u, v) {if (!visited[v]) {q.push(v)visited[v] = true}}}
}
http://www.sczhlp.com/news/93666/

相关文章:

  • wordpress拖曳式建站建设网站 知乎
  • ps怎么做网站横幅广告wordpress群组
  • 单页网站 jquery哈尔滨seo优化排名
  • 网站设计风格有几种网页设计与制作课程在工作中的应用
  • 建设工程标准在线网站海南网站建设介绍
  • 修改wordpress的tag页网站seo好学吗
  • 南宁网站搜索引擎优化永康市建设局网站为什么打不开
  • 建站申请范文建设公司网站账务处理
  • 郑州企业建站详情贴心的广州网站建设
  • 国内网站建设 必须实名认证如何给网站设置关键词
  • 网站运营管理教材做网站网站的虚拟空间
  • 漳州城乡和建设局网站网页设计学校
  • 长春网站优化平台网络营销公司介绍
  • 没有做网站能备案吗WordPress打开 速度
  • 来宾网站制作公司银川企业网站建设
  • 网页站点企业网站开发与设计论文
  • 海北公司网站建设价格低wordpress自定义播放器
  • wordpress建站吧白帽优化关键词排名seo
  • 东阳做网站口碑好的网站建设服务
  • drawio
  • bootstrap-select插件在webpack中点击无响应
  • 免费网站建站系统网站建设在线推广
  • 苏州城乡住房建设厅网站网站建设可行性分析
  • 帆软网站开发深圳做公司网站
  • Kali 字体大小设置
  • 如何使用 OCR 提取扫描件 PDF 的文本(Python 实现) - E
  • 石门网站建设电子邮箱注册网站申请
  • 可以做外包的网站网站错误代码 处理
  • 网站域名密码网页建设中
  • 网站上传后怎么打开石家庄市工程造价信息网