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

2025-3-3 二叉树的存储结构

一、二叉树的存储结构( 顺序存储,链式存储)

  1.顺序存数--(用数组)

  (完全二叉树)常考的基本操作:

 i 的左孩子 -----2i        右孩子-----2i+1

 i的父节点-----[i/2] 向下取整

 i所在的层次-----[log2^(n+1)]或[log2^n]+1

  可利用数组下标来反映数据之间的关系。

(非完全二叉树)只能用开始定义的isEmpty来判断了。(浪费存储空间)

  最坏的情况:高度为h且只有h个结点的单支树(只有右孩子),至少需要2^h  -1个存储单元。

结论:二叉树的顺序存储结构只适合存储完全二叉树。

二、二叉树的链式存储(指针)

  1.链式存储(用指针)--给每个数据开辟两个指针域,分别指向左孩子和右孩子。

  具体代码:一个一个创建。(老师没讲循环啊,我不会啊)

  查找:找孩子特别简单,找父结点就只能从根遍历。

   如果需要经常查找父结点,可多创建一个父结点指针。--(三叉链表)

总结:

相关文章:

  • Makefile
  • 【Java EE】JavaEE导读,探寻 JavaEE:解锁企业级开发的璀璨密码与进阶指南
  • 论文学习——The Hilti SLAM Challenge Dataset
  • iOS逆向工程概述与学习路线图
  • DeepSeek、Grok、ChatGPT4.5和Gemini四大AI模型深度解析:谁才是你的最佳助手
  • 704. 二分查找
  • 深入解析 I²C 与 SPI 协议:原理、时序及软件实现
  • Git强制覆盖分支:将任意分支完全恢复为main分支内容
  • IO进程线程
  • 2025华为OD机试真题目录【E卷+A卷+B卷+C卷+D卷】持续收录中...
  • 基于RK3588的重症监护信息系统应用解决方案
  • 深拷贝与浅拷贝
  • 微服务,服务治理nacos,负载均衡LOadBalancer,OpenFeign
  • Leetcode 662: 二叉树最大宽度
  • 大白话跨域问题的原理与多种解决方法的实现
  • 信息学奥赛一本通1009
  • el-table input textarea 文本域 自适应高度,切换分页滚动失效处理办法
  • 【Linux实践系列】:用c语言实现一个shell外壳程序
  • HTML + CSS 题目
  • C语言基础知识02
  • 我驻苏丹使馆建议在苏中国公民尽快撤离
  • 奥利弗·斯通回顾越战50周年:我们不善于总结历史教训
  • 体坛联播|双杀阿森纳,巴黎晋级欧冠决赛对阵国际米兰
  • 博裕基金拟收购“全球店王”北京SKP最多45%股权
  • 江西浮梁县县长张汉坤被查,此前已有4个月无公开活动
  • 禅定佛的微笑,从樊锦诗提到过的那尊说起