腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
我是攻城师
专栏作者
举报
492
文章
956446
阅读量
119
订阅数
订阅专栏
申请加入专栏
全部文章
java
其他
编程算法
es 2
spark
存储
hadoop
大数据
lucene/solr
数据库
数据结构
apache
开源
api
sql
github
jdk
jvm
scala
hive
安全
缓存
搜索引擎
linux
分布式
hbase
oracle
数据分析
git
mapreduce
二叉树
node.js
maven
机器学习
json
人工智能
shell
python
spring
hashmap
容器镜像服务
容器
网络安全
https
javascript
云数据库 SQL Server
云数据库 Redis
ide
nginx
yarn
spring boot
数据处理
windows
系统架构
nat
xml
nosql
eclipse
opencv
c++
html
jar
游戏
jdbc
npm
php
ruby
go
servlet
react
mvc
打包
TDSQL MySQL 版
网站
http
压力测试
正则表达式
yum
numpy
zookeeper
gradle
微信
微服务
数据挖掘
swift
c 语言
perl
.net
bootstrap
angularjs
css
ajax
android
单片机
tomcat
unix
centos
深度学习
文件存储
日志服务
mongodb
图像处理
自动化
黑客
爬虫
html5
图像识别
grep
cdn
tcp/ip
flash
kernel
anaconda
机器人
数据可视化
物联网
安全漏洞
云计算
apple
com
google
microsoft
yahoo
磁盘
域名
搜索文章
搜索
搜索
关闭
5分钟轻松理解二叉树的深度遍历策略
二叉树
编程算法
数据结构
我们知道普通的线性数据结构如链表,数组等,遍历方式单一,都是从头到尾遍历就行,但树这种数据结构却不一样,我们从一个节点出发,下一个节点却有可能遇到多个分支路径,所以为了遍历树的全部节点,我们需要借助一个临时容器,通常是栈这种数据结构,来存储当遇到多个分叉路径时的,存暂时没走的其他路径,等走过的路径遍历完之后,再继续返回到原来没走的路径进行遍历,这一点不论在递归中的遍历还是迭代中的遍历中其实都是一样的,只不过递归方法的栈是隐式的,而我们自己迭代遍历的栈需要显式的声明。
我是攻城师
2019-07-08
929
0
深入理解什么是B树?
数据结构
二叉树
前面的文章,我们已经介绍过其他的几种高级的动态数据结构,典型如红黑树,跳跃表等,今天我们再来学习另外一种高级数据结构B树,我们知道树的查询时间复杂度和其树的高度有直接关系,当我们向红黑树里面插入大量的数据时,有两个问题:
我是攻城师
2019-05-14
4.8K
0
深入理解二叉树的特点
编程算法
二叉树
在计算机科学中,二叉树(Binary tree)是一个连通的无环图,每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。最顶层的节点称为root节点,也就是根节点。每个具有1个或者2个的子节点的节点称为父节点,没有子节点的节点称为叶子节点。拥有同一个父节点的节点称为兄弟节点。
我是攻城师
2019-04-28
1.9K
0
什么是二叉搜索树
二叉树
数据结构
编程算法
二叉搜索树是一种综合效率比较好的一种数据结构,搜索、插入、删除的复杂度等于树高, 平均空间复杂度为O(n),时间复杂度为O(log n),最坏时间复杂度为O(n),(当插入的数列有序,导致二叉树退化为线性表),故一些其他的树,在二叉搜索树基础上进行改良的平衡树,如AVL树、红黑树等,可以使得树的高度总是得到平衡,从而使得最坏的情况下,时间复杂度也能达到O(log n)。
我是攻城师
2019-04-28
990
0
什么是平衡二叉树
二叉树
编程算法
上篇文章里面,我们已经学习了二叉搜索树的相关内容,二叉搜索树有一个缺点,在插入数据是有序的序列(包括升序和降序),会导致二叉树退化成链表,从而导致在查找,删除,添加时的性能均从O(logN)降低为O(N),这是不能接受的。如下图:
我是攻城师
2019-04-28
7.1K
0
什么是2-3树
二叉树
前面的文章我们已经学习了二叉搜索树和平衡二叉搜索树AVL树,今天我们再来了解一种新的平衡树2–3树,2–3树由约翰·霍普克洛夫特于1970年发明,在计算机科学中,2–3树是一种树型数据结构,内部节点(存在子节点的节点)要么有2个孩子和1个数据元素,要么有3个孩子和2个数据元素,叶子节点没有孩子,并且有1个或2个数据元素,2-3树的平均时间复杂度为O(logN),空间复杂度为O(N),注意严格的说2-3树的性能是在O(log3N)和O(log2N)之间的,因为大O复杂度表示通常会忽略系数项。
我是攻城师
2019-04-28
1.8K
0
深入理解红黑树
二叉树
前面的文章已经介绍过二叉搜索树,AVL树,以及2-3Tree,今天我们再来学习一下二叉搜索树里面的大佬,它就是红黑树。红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,它在1972年由鲁道夫·贝尔发明,被称为"对称二叉B树",它现代的名字源于Leo J. Guibas和Robert Sedgewick于1978年写的一篇论文,红黑树的结构复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中高效:它可以在O(logN)时间内完成查找,插入和删除。
我是攻城师
2019-04-28
1K
1
还分不清楚一些二叉树种类和概念?
二叉树
数据结构
刚接触二叉树的学习的时候,相信很多人可能会被二叉树各种各样的叫法和概念给绕晕了,今天就来科普一下关于二叉树我们需要知道的一些树的种类,以及它的特点。
我是攻城师
2019-04-28
3.4K
0
数据结构之(树)
二叉树
存储
数据结构
编程算法
在计算机科学中,树(英语:tree)是一种非线性的抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合
我是攻城师
2019-03-19
852
0
理解算法的复杂度
编程算法
存储
数据结构
二叉树
在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间,时间复杂度常用大O符号表示,不包括这个函数的低阶和首项系数,使用这种方式时,时间的复杂度可被成为是渐近的(asymptotic analysis),渐近是指在数学分析中是一种描述函数在极限附近的行为的方法,有多个科学领域应用此方法。
我是攻城师
2018-09-30
845
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档