当前位置: 首页 > 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
  • 做网站智能工具/网络培训心得体会
  • 做网站的销售话术/2021搜索引擎排名
  • 智慧建设网站/推广拉新app哪几个靠谱
  • wordpress wp_head()优化/马鞍山网站seo
  • 做旅游网站设计的感想/seo的中文是什么
  • 辽宁网站备案要多久/网站排名靠前