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

《算法和数据结构》算法篇

一:二叉树

  1. 1 定义

        (1)定义

                        

                        

                树是一种非线性的数据结构,它是由n个有限节点组成有层次关系的集合

                        

        (2)基本术语

                父子节点:每个节点下方直接相连的节点称为子节点,上方直接相连的节点称为父节点

                子树:以子节点为根的树称为子树

                根节点和叶子节点:最上方没有父节点的节点为根节点,最下层没有子节点的节点为叶子节点

                        

       1.2 存储与定义

               (1)顺序存储

                        二叉树根据层序进行编号后,存放到一位数组中。明显缺点(没法反应二叉树的逻辑关系【不知道节点的左右节点】)

                        只用于完全二叉树,防止左斜(没有字节点,全在左边或右边)

                        

        

           (2)链式存储

                        每个节点包括一个数据域,两个指针域

                        

        1.3 遍历

                (1)定义

                        

                (2)先序遍历

                        

                (3)中序遍历

                        

                (4)后序遍历

                                

                (5)层序遍历

                        按照层次,从左到右依次访问二叉树中的每个节点

                           

   

1.4 递归遍历

                 总结

                            

                (1)代码模板

                        

                        解释

                         

        (2)类比数组遍历

                数组遍历一般通过一个for循环实现,遍历顺序是从前往后

        (3)遍历节点顺序

                遍历节点顺序仅取决与左右子节点的递归调用顺序,与其它代码无关

1.5 前中后序遍历

(1)定义

在二叉树遍历框架前面加了一套代码

                

(2)解释

                  

http://www.xdnf.cn/news/674875.html

相关文章:

  • 车载通信网络 --- OSI模型:网络层
  • SQL 查询慢的常见原因分析
  • 【新品发布】嵌入式人工智能实验箱EDU-AIoT ELF 2正式发布
  • 机器学习-决策树
  • 洛谷 P5091:【模板】扩展欧拉定理
  • MacOS内存管理-删除冗余系统数据System Data
  • 第六章 文件的其他操作命令
  • 计算机组成原理——CISC与RISC
  • 【基于STM32的新能源汽车智能循迹系统开发全解析】
  • 什么是DevOps的核心目标?它如何解决传统开发与运维之间的冲突?​
  • 使用java8开发mcp server
  • 让学习回归到技术上来(技术 !=== 死记硬背)
  • name ‘selective_scan_fn‘ is not defined运行出现这个错误
  • 修改 Ubuntu Installer 从串口输出的方法
  • 电子邮箱设置SSL:构建邮件传输的加密护城河
  • Qwen2.5-VL视觉-语言模型做图片理解调研
  • 深入解析Spring Boot与Redis的集成实践
  • 麒麟系统 Linux(aarch64处理器)系统java项目接入海康SDK问题
  • 自动化Web页面性能测试介绍
  • [Java实战]Spring Boot切面编程实现日志记录(三十六)
  • ojs导入显示空白页错误信息
  • C-自定义类型
  • go中的channel
  • 蓝桥杯b组c++赛道---字典树
  • WPF【10_2】数据库与WPF实战-示例
  • 中级统计师-统计学基础知识-第七章 回归分析
  • 8.安卓逆向2-frida hook技术-frida环境安装
  • 【IOS】【OC】【应用内打印功能的实现】如何在APP内实现打印功能,连接本地打印机,把想要打印的界面打印成图片
  • 简单网络交换、路由-华三单区域OSPF
  • AGI大模型(34):Advanced RAG之Pre-Retrieval(预检索)优化