DS冲刺整理做题定理(一)二叉树专题

news2024/11/13 10:33:04

(只总结博主自己记得不熟的~) 

  • 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
  • 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
  • 数据的逻辑结构和储存结构是数据结构的两个密切相关的方面,同一逻辑结构可以对应不同的存储结构。算法的设计取决于数据的逻辑结构,而算法的实现依赖于指定的存储结构。
  • 数据结构的研究内容是构造复杂软件系统的基础,它的核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义。上述两个方面的结合可以将问题变换为数据结构。这是一个从具体(即具体问题)到抽象(即数据结构)的过程。然后,通过增加对实现细节的考虑进一步得到存储结构和实现运算,从而完成设计任务。这是一个从抽象(即数据结构)到具体(即具体实现)的过程。

一.树的基础

1.度:结点所拥有的孩子结点的个数,树中结点的最大结点度数被称为树的度。

2.高度从下向上,深度自顶向下

3.树的节点数等于所有结点的度数之和+1

4.度为m的树中,第i层之至多有m^i-1个节点

5.高度为h的m叉树至多有(m^h-1)/(m-1)个节点

6.具有n个结点的m叉树的最小高度为[logm(n(m-1)+1)]

二.二叉树的概念

1.满二叉树:高度为h且含有2^h-1个节点的二叉树称为满二叉树,除了叶子节点度数均为2

2.完全二叉树:可以理解为满二叉树的顺序缩略版(序号不能间断~

3.二叉排序树:左子树上所有节点的关键字均小于根节点的关键字,右子树均大于;此外,左子树和右子树又各是一棵二叉排序树

4.平衡二叉树:树上任意结点的左子树和右子树的深度之差不超过1~

5.叶子节点数:度为2的节点数+1

6.第k层至多有2^(k-1)个节点

7.高度为k的二叉树至多有2^k-1个节点

8.节点i所在的层次(深度)为(log2i)+1

存储结构稍微看看就行,一般不是考察重点~

三.树的遍历

1.NLR:先序遍历,根左右

2.LNR:中序遍历,左根右

3.LRN:后序遍历,左右根

(实现方式有递归和非递归两种~)

4.层次遍历:按最高层依次往下遍历~

5.线索二叉树:存放着额外的指针域,来存放左子树or右子树,亦或前驱或后继结点~

四.森林

1.双亲表示法:本质上用顺序结构来存储树的结点

2.孩子表示法:单链表

3.孩子兄弟表示法:本质为树和二叉树的转换~

五.应用 

1.哈夫曼树:又被叫做最优二叉树,即带权路径长度WPL最小的二叉树~

2.并查集:本质就是让某一棵树成为另一棵树的孩子~

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

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

相关文章

微服务——分布式事务

事务理论基础 分布式锁保证多线程下数据库操作安全保障 分布式事务发生异常可以回滚. 使用postman发送请求插入一条新订单。 然后现在库存只剩下8个商品,如果买10个的话应该统一失败。 CAP定理 假如node03在独立时将所有请求都堵塞并等待恢复和其余节点的连接的话以…

【Spring Boot】快速入门

一、引言 1、什么是spring boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式&#xff…

【c++】stl_priority_queue优先级队列

目录 一、priority_queue的介绍 二、 priority_queue的本质 三、priority_queue的使用 四、priority_queue的模拟实现 总结 一、priority_queue的介绍 首先让我们通过阅读优先级队列的官方文档 简单翻译一下 1. 优先队列是一种容器适配器,根据严格的弱排序标准…

内存不够用怎么办?整理了几个必备的方法!

内存越大,运行越快,程序之间的切换和响应也会更加流畅。但是随着时间的增加,还是堆积了越来越多的各种文件,导致内存不够用,下面就像大家介绍三种好用的清理内存的方法。 方法一:通过电脑系统自带的性能清理…

关于Android studio新版本和NEW UI显示返回按钮的设置

1.新版Android studio问题 因为在新版本的Android Studio中,默认情况下是没有直接的选项来显示返回上一步按钮在状态栏上的,可以通过以下方法来实现返回上一步的功能: 在Android Studio的顶部菜单栏中,选择"View"。在…

量子纠错率提高100倍!亚马逊云科技开启量子创新时代

由AWS开发和制造的包装组件中的超导量子芯片(图片来源:网络) 作为一项尖端技术,量子计算能提供前所未有的计算能力。美国亚马逊云科技(AWS)近期推出了一款量子芯片,展示出该技术取得了重大飞跃…

为什么选择国产WordPress:HelpLook的优势解析

如今网站建设可以说已经是企业必备。而在众多的网站建设工具中,WordPress无疑是其中的佼佼者。作为一款开源的CMS(内容管理系统),WordPress拥有丰富的插件和主题,以及强大的功能,使得用户可以轻松地构建出符…

golang 操作Jenkins

1.創建Agent/Node func CreateAgent(username string, password string, nodeName string, nodeDescription string, numExecutors string, remoteFS string, labelString string, host string) {var obj stringobj "{name:" nodeName ",nodeDescription:&q…

洛谷 P8802 [蓝桥杯 2022 国 B] 出差

文章目录 [蓝桥杯 2022 国 B] 出差题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE [蓝桥杯 2022 国 B] 出差 题目链接 https://www.luogu.com.cn/problem/P8802 题目描述 A \mathrm{A} A 国有 N N N 个城市,编号为 1 … N …

抖音跑腿小程序开发指南:从零开始到上线

如今,抖音跑腿小程序的开发已经成为一项具有巨大潜力的领域。本文将为您提供一份详尽的开发指南,从零开始引导您完成一个成功的抖音跑腿小程序的开发和上线过程。 第一步:确定目标和需求 了解用户的期望,确定小程序的功能模块&a…

ROS-ROS通信机制-小乌龟

文章目录 1.话题发布2.话题订阅3.服务调用4.参数设置5.通信机制比较 1.话题发布 需求描述: 编码实现乌龟运动控制,让小乌龟做圆周运动。 实现分析: 乌龟运动控制实现,关键节点有两个,一个是乌龟运动显示节点 turtlesim_node,另…

在RHEL8中如何使用 SELinux

本章主要介绍在RHEL8中如何使用 SELinux。 了解什么是 SELinux 了解 SELinux 的上下文 配置端口上下文 了解SELinux的布尔值 了解SELinux的模式 在 Windows系统中安装了一些安全软件后,当执行某个命令时,如果安全软件认为这个 命令对系统是一种危害&a…

【广州华锐互动】3D虚拟还原井下复杂事故:提高安全意识,预防事故再次发生

随着科技的不断发展,3D虚拟现实技术已经逐渐应用于各个领域,为我们的生活带来了诸多便利。在钻井行业,3D虚拟现实技术的应用也日益受到重视。通过3D虚拟还原井下复杂事故,可以帮助我们更直观地了解事故发生的原因和过程&#xff0…

Python3开发环境的搭建

1,电脑操作系统的确认 我的是win10、64位的,你们的操作系统可自寻得。 2,Python安装包的下载 (1)浏览器种输入网址:https://www.python.org 选择对应的系统(我的是win10/64位) &#xf…

如何精准找企业线索?你缺一个法宝

如何找企业数据、找客户?近年来,经常会听到认识的销售朋友抱怨,每天花费大量时间从各种渠道找企业信息、找客户线索,结果总是不如意,投入大量时间,产出却0;创业成功的老板也抱怨优秀人才越来越难…

CSS特效027:超可爱的小狗狗,女孩子都喜欢

为什么当初选择计算机行业? 科技总是迷人的,通过计算机可以造出各种美妙的设计。 后来工作,更加感觉到可视化的魅力,于是乎更加的专注于canvas,CSS,openlayers,leaflet,cesium。。。…

Axure系列(二)之 元件库的介绍以及个人简介案例展示

目录 一. 元件介绍 二. 基本元件的使用 2.1 形状元件 2.2 图片元件 2.3 占位符 2.4 文本 2.5 线段元件 2.6 热区文件 三. 表单元件的使用 3.1 文本框 3.2 文本域 3.3 下拉列表 3.4 列表框 3.5 复选框 3.6 单选按钮 四. 菜单与表格元件的使用 4.1 树 4.2 表格…

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

回望2023年,大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态,大语言模型在突飞猛进中加速重构万物。随着理解、生成、逻辑、记忆四大能力显著提升,大语言模型为通用人工智能带来曙光。 AI开发者们正在用算法和代码书写一个…

连连看游戏

连通块记忆性递归的综合运用 这里x,y的设置反我平常的习惯,搞得我有点晕 实际上可以一输入就交换x,y的数据的 如果设置y1为全局变量的话会warning: warning: built-in function y1 declared as non-function 所以我改成p和q了…

gin投票项目5

对应视频V3版本 1.优化用户注册的功能 增加扩展字段 1.增加一个UUID字段,vachar(50)。 2.增加一个UUID的唯一索引。 UUID具有全局唯一性; 方法:在数据库中新建一个列,名为uuid并移至主键下方&#xf…