【数据结构】树tree

树的遍历

广度遍历Breadth-first traversal

Breadth-first traversal is the traversal strategy used in the binary tree.Breadth first traversal, also known as level order traversal is the traversal strategy used in a binary tree. It involves visiting all the nodes at a given level.

深度遍历Depth-first traversal

level order traversal

O(n) is the time complexity of level order traversal.

树的类别

二叉树pedigree tree(binary tree)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARGF2aWRfSHp5,size_12,color_FFFFFF,t_70,g_se,x_16

lineal tree

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARGF2aWRfSHp5,size_12,color_FFFFFF,t_70,g_se,x_16

tree用链表实现(不唯一):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARGF2aWRfSHp5,size_20,color_FFFFFF,t_70,g_se,x_16

树的变例:先序(先访问根,先左后右),中序(先访问左边再访问根,再访问右),后序(左-》右-》根)

完全二叉树

定义:除了最后一层,其他每层结点都是最大值,最后一层的所有节点都集中在左方。

满二叉树

定义:每层结点数都是最大值,k层有2^k-1个结点。

搜索二叉树(search binary tree)

特点:In the tree, the values of all the items in its left subtree are smaller than the item in X, and the values of all the items in its right subtree are larger than the item in X.

在树中,左子树中所有项的值都小于X中的项,而右子树中所有项的值都大于X中的项。

特例:adl二叉树

B树

1.节点排序

2.一个节点了可以存多个元素,多个元素也排序了

B+树

B树升级版,拥有B树的特点

叶子节点之间有指针

非叶子节点上的元素在叶子节点上都冗余了,也就是叶子节点中存储了所有的元素,并且排好顺序

专业名词

The average depth of a binary tree is given as O(√N). In case of a binary search tree, it is O(log N).

节点(node)的集合,要么空集,要么包含root(node r)和多个非空子树。

有n个节点的树有n-1个结点的边

degree of a node :number of subtrees of the node.  For example, degree(A) = 3, degree(F) = 0.

degree of a tree : watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARGF2aWRfSHp5,size_13,color_FFFFFF,t_70,g_se,x_16

parent : a node that has subtrees.

children : the roots of the subtrees of a parent.

 siblings : children of the same parent.

leaf ( terminal node ) : a node with degree 0 (no children).

path from n1 to nk :a (unique) sequence of nodes n1, n2, …, nk   

length of path : number of edges on the path.

depth of ni : length of the unique path from the root to ni.   Depth(root) = 0.

height of ni : length of the longest path from ni to a leaf.  Height(leaf) = 0, and height(D) = 2.

height (depth) of a tree :height(root) = depth(deepest leaf).

ancestors of a node :all the nodes along the path from the node up to the root.

descendants of a node :all the nodes in its subtrees.

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频矩阵系统---开发源头交付

短视频矩阵系统---开发源头交付 短视频矩阵系统的核心开发步骤包括以下几个方面: 1. 系统设计:根据需求分析,设计出相应的系统架构,包括数据库设计、系统功能模块设计等。 2. 开发基础功能:基础功能包括短视频的上传、…

el-select的错误提示不生效、el-select验证失灵、el-select的blur规则失灵

发现问题 在使用el-select进行表单验证的时候&#xff0c;发现点击下拉列表没选的情况下&#xff0c;他不会提示没有选择选项的信息&#xff0c;我设置了rule如下 <!--el-select--><el-form-item label"等级" prop"level"><el-select v-m…

从供方协议管理到外部供方管理

从GJB 5000A的供方协议管理到GJB 5000B的外部供方管理&#xff0c;军用软件的研制对承接单位有了更高的标准和要求&#xff0c;也对外部供方管理有了更改的要求&#xff0c;让我们看看具体的变化吧&#xff01; 供方协议管理的目的&#xff1a; 管理供方产品的获取工作。 外部…

linux下minio部署和nginx配置

1 下载minio wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod x minio #启动minio&#xff0c;文件数据存放在/data目录 ./minio server /data2 部署minio 下载minio后赋予可执行权限就可以运行了&#xff0c;这里我整理了遇到的坑和解决问题的最终配置…

快速上手Spring Cloud 九:服务间通信与消息队列

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

AIS板评测 dAI01-OEM

目录 一、设备概述 二、技术性能评测 三、总结 一、设备概述 dAI01-OEM是一款AIS接收机板卡&#xff0c;旨在与OpenCPN、Ship Plotter等能够接收串口数据输入的软件实现无缝配合。它不仅能够高效接收并处理AIS信号&#xff0c;还能够将本船的信息实时上传到MarineTraffic和…

MySql实战--MySQL为什么有时候会选错索引

前面我们介绍过索引&#xff0c;你已经知道了在MySQL中一张表其实是可以支持多个索引的。但是&#xff0c;你写SQL语句的时候&#xff0c;并没有主动指定使用哪个索引。也就是说&#xff0c;使用哪个索引是由MySQL来确定的。 不知道你有没有碰到过这种情况&#xff0c;一条本来…

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 &#xff08;一&#xff09;批量生产产品出货清单 以“出货统计表”为例&#xff0c; 需求&#xff1a;将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…

Topaz Gigapixel AI for Mac 图像放大软件

Topaz Gigapixel AI for Mac是一款专为Mac用户设计的智能图像放大软件。它采用了人工智能技术&#xff0c;特别是深度学习算法&#xff0c;以提高图像的分辨率和质量&#xff0c;使得图像在放大后仍能保持清晰的细节。这款软件的特点在于其能够将低分辨率的图片放大至高分辨率&…

基于微信小程序的校园服务平台设计与实现(程序+论文)

本文以校园服务平台为研究对象&#xff0c;首先分析了当前校园服务平台的研究现状&#xff0c;阐述了本系统设计的意义和背景&#xff0c;运用微信小程序开发工具和云开发技术&#xff0c;研究和设计了一个校园服务平台&#xff0c;以满足学生在校园生活中的多样化需求。通过引…

“51媒体”线下活动,媒体线上同步直播的好处,有哪些资源?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 线下活动媒体线上同步直播的好处以及可利用的资源如下&#xff1a; 好处&#xff1a; 扩大影响力&#xff1a;通过媒体线上同步直播&#xff0c;活动可以覆盖更广泛的受众群体&#xff…

AOP能干什么?

AOP能干什么&#xff1f; AOP能干什么&#xff1f;预备知识Before AdviceAfter AdviceAround Advice AOP能干啥呢处理参数值处理输出结果 总结 AOP能干什么&#xff1f; 我们在之前的博客中已经提出了一个例子&#xff0c;可以通过AOP来实现权限的一个认证&#xff0c;详情可以…