算法笔记(五)—— 二叉树

news2024/11/23 3:02:06

链表练习题:

 1. 查两个链表的第一个入环结点,loop1,loop2。(快慢指针,相交后,快指针放头节点)

2. 当loop1==null , loop2==null时

       如果两个链表最后一个结点不相等,那么一定不相交。

       最后一个结点地址相等,那么从相交一直到null都为两个链表的公共部分。遍历一遍找到链表长度,长链表先走差值步,第一次相等的结点即为所求结果。

3. loop1 , loop2一个为null一个不为null(一个有环一个无环)

        该情况下两个链表不可能相交。

4. 两个链表都有环(各自独立)

5. 两个链表都有环(共用环且入环结点为一个)

        将入环结点当作终止结点按2处理即可。

6. 两个链表都有环(共用环且入环结点不为一个)

        返回loop1或者loop2都可。

二叉树

递归实现遍历:

先序遍历:第一次来到该结点打印

中序遍历:第二次来到该结点打印

后序遍历:第三次来到该结点打印

非递归实现遍历(自己压栈):

先序遍历(深度优先遍历):

1. 压入头节点入栈

2. 每次弹出栈中节点,对该节点进行处理

3. 压入当前节点右孩子和左孩子,如果有的话

4. 周而复始即可

中序遍历:

1. 每棵子树左边界进栈

2. 依次弹出的时候打印,对弹出节点的右数重复操作

后序遍历:

头左右入栈,出栈实现后序遍历。

宽度优先遍历(层序遍历):

使用队列来对某节点的孩子节点进行存储,弹出时,将其孩子节点从左到右再压入,反复即可。

如果要求整棵树的最大宽度,需要保留每个节点的层数信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Allegro如何设置最大撤回步数操作指导

Allegro如何设置最大撤回步数操作指导 在做PCB设计的时候,偶尔会出现误操作或者简单评估需要撤回到原来的状态,避免返工。Allegro支持撤回操作,用菜单的Undo命令即可实现 同样还支持设置最大的撤回步数,具体操作如下 点击Setup点击User Preferences

C语言(ctype.h系列的字符函数)

1.字符测试函数 函数名 如果时下列函数时,返回值为真 Isalnum() 字母或数字 isalpha() 字母 isblank() 标准的空白字符(空格,水平制表符或换行符)或任…

AMD发布23.2.1 新驱动 支持开年新作《魔咒之地》

如果说2023年有什么新作,《魔咒之地(Forspoken)》当属开年大作之一,1月25日才在steam平台发售。虽然开售后的表现似乎不如想象中优秀,加之价格相对昂贵,令不少玩家望而却步,但如果只是想尝鲜&am…

面试攻略,Java 基础面试 100 问(二)

五大基本原则 单一职责原则SRP(Single Responsibility Principle) 是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。 开放封闭原则OCP(Open&#xff0…

ACM第一周---周训---题目合集.

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:ACM周训练题目合集.CSDN 💬总结&#xff1a…

QT入门Input Widgets之QFontComboBox、QTextEdit、QPlainTextEdit、QDial、QKeySequenceEdit

目录 一、QFontComboBox的相关介绍 1、实际使用 二、QTextEdit与QPlainTextEdit 三、QDial的相关介绍 四、QKeySequenceEdit的相关介绍 此文为作者原创,创作不易,转载请标明出处! 一、QFontComboBox的相关介绍 1、实际使用 一般使用较…

Java 中FastJson的使用【吃透FastJson】

如果不了解JSON格式,建议先看下:JSON数据格式【学习记录】 JSON序列化、反序列化JavaBean的框架有很多,最常见的Jackson、阿里巴巴开源的FastJson、谷歌的GSON、apache提供的json-lib等,下面我们主要来熟悉一下:Java语…

时隔多年,这次我终于把动态代理的源码翻了个地儿朝天

本文内容整理自 博学谷狂野架构师 动态代理简介 ​ Proxy模式是常用的设计模式,其特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。 用户可以更加结构图&#xff0…

软件项目进度安排与跟踪:关键路径的计算

在一个软件项目中,管理人员需要按时了解项目进度,制定项目计划,同时需要及时发现所遇到的问题,然后和团队成员制定解决方案,确保整个计划可以顺利的进行,因此项目进度安排与跟踪是项目管理中的一个重要环节…

SpringBoot 整合 Nacos 实现注册中心和配置中心

SpringBoot 整合 Nacos 引入 Maven 依赖 首先&#xff0c;我们还是要引入 Maven 依赖&#x1f447; <!--注册中心的依赖--> <dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-discovery-spring-boot-starter</artifactI…

雷达气象学和卫星气象学期末复习笔记

雷达气象学期末复习 气象雷达和雷达气象 气象雷达&#xff1a;用于气象探测的雷达&#xff0c;气象目标主要是云和降水粒子 雷达气象&#xff1a;利用气象雷达研究气象中的局地降水和局地降水系统&#xff0c;为降水系统的探测和临近预报服务 雷达的分类 天气雷达&#xff1a;…

CTF-取证题目解析-提供环境

一、安装 官网下载&#xff1a;Volatility 2.6 Release 1、将windows下载的volatility上传到 kali/home 文件夹里面 3、将home/kali/vol刚刚上传的 移动到use/sbin目录里面 mv volatility usr/local/sbin/ 切换到里面 cd /usr/local/sbin/volatility 输入配置环境echo $PAT…

SpringBoot依赖原理分析及配置文件

&#x1f49f;&#x1f49f;前言 ​ 友友们大家好&#xff0c;我是你们的小王同学&#x1f617;&#x1f617; 今天给大家打来的是 SpringBoot依赖原理分析及配置文件 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞&#x1f44d; 收藏⭐ 评论&#x1f4c4…

电脑文件被误删?360文件恢复工具,免费的文件恢复软件

电脑里面保存着各种文件&#xff0c;因为误操作我们把还需要用的文件给删除了。很多人都想要使用不收费的文件恢复软件来进行恢复操作&#xff0c;但是又不清楚有哪些文件可以帮到我们。接下来就给大家介绍&#xff0c;一款真正免费的数据 恢复app&#xff0c;一起来看看&#…

eSGD(edge SGD) 边缘设备进行分布式机器学习的参数聚合策略实现高效通信 论文精读

说明 这篇论文比较短&#xff0c;但是提出的方法确很不错。联邦学习或者分布式机器学习中减少通信开销一般有两种方法&#xff1a; 减少发送的数据量&#xff1b;通过改变通信的拓扑结构&#xff1b; 本文通过选取重要的梯度进行更新而减少通信的开销&#xff0c;属于第一种…

招聘链接怎么做_分享招聘小程序制作步骤

招聘小程序的主要用户就是企业招聘端和找工作人员的用户端,下面从这两个端来对招聘小程序开发的功能进行介绍。 企业端功能 1、岗位发布:企业根据自身岗位需求,在招聘app上发布招聘岗位及所需技能。 2.简历筛选:根据求职者提交的简历选择合适的简历,并对公开发布的简历进行筛…

主数据管理平台如何进行模型管理

企业管理主数据&#xff0c;模型管理尤为重要。在对主数据进行建模操作时&#xff0c;既要保证数据通用性、安全性&#xff0c;又要符合企业的业务需求。今天小亿带你认识一下亿信华辰睿码主数据管理平台里的主数据模型管理。 主数据模型分类 一款专业的主数据管理平台&#…

【RabbitMQ笔记01】Windows搭建RabbitMQ消息队列基础运行环境

这篇文章&#xff0c;主要介绍如何在Windows系统中&#xff0c;搭建RabbitMQ消息队列的运行环境。 目录 一、RabbitMQ消息队列 1.1、什么是RabbitMQ 1.2、安装Erlang &#xff08;1&#xff09;下载安装包 &#xff08;2&#xff09;配置环境变量 &#xff08;3&#xff…

C++STL剖析(七)—— map和multimap的概念和使用

文章目录1. map的介绍和使用&#x1f351; map的模板参数列表&#x1f351; map的构造&#x1f351; map的使用&#x1f345; insert&#x1f345; operator[ ]&#x1f345; find&#x1f345; erase&#x1f345; swap&#x1f345; empty&#x1f345; size&#x1f345; co…

共享—1658页《Java面试突击核心手册》几乎覆盖市面上所有面试考点

说快也快&#xff0c;说不快也不慢&#xff01; 年前&#xff0c;陆陆续续&#xff0c;好多大厂都在裁员&#xff1b; 年后&#xff0c;又有一大批程序员失业&#xff0c;找不到避风港&#xff1b; 这时候&#xff0c;就有人说了&#xff0c;为什么找工作这么难&#xff1f;…