![](https://img-blog.csdnimg.cn/20210911205320525.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 63
以Java为技术栈展开的数据结构与算法的学习
友人和他的朋友们
公众号:友人和他的朋友们 Java 全栈文档库 www.codermast.com 编程桅杆的作者
展开
-
二叉树的前中后层序遍历详解,看这一篇就够了!
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。int val;原创 2023-03-18 10:30:41 · 229 阅读 · 0 评论 -
设计模式之单例模式的预加载和懒加载实现——懒汉模式和饿汉模式以及如何确保线程安全
通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)确保一个类中最多只有一个实例,并提供一个全局访问点。即一个类只实例化了一个对象,全局都在使用这一个对象。单例模式的实现由分成了两种情况,饿汉模式和懒汉模式,又叫预加载和懒加载。原创 2023-03-17 20:15:45 · 1051 阅读 · 0 评论 -
数据结构系列 线性表【重点】 “队列” Queue 系列精讲 和 方法总结!⚡附推荐LeetCode经典练习题
学习导航❓什么是队列❓什么是队列原创 2021-09-15 19:03:35 · 643 阅读 · 16 评论 -
数据结构系列 线性表【重点】 “堆栈” Stack 系列精讲 和使用方法总结!⚡附推荐LeetCode经典练习题
文章目录❓什么是栈0️⃣栈的应用1️⃣栈的定义2️⃣栈的结构????栈的使用0️⃣栈的实例化2️⃣栈的方法????光脚造轮子❓什么是栈0️⃣栈的应用 在了解栈之前还是老样子,我们来看几个例子这张图就是将子弹填装进弹夹相信大家都见过吧,虽然可能没在现实中见到,在很多影视剧中还是可以看到的,这个操作中,我们可以把弹夹看做一个栈,把子弹看做要压栈的数据,是不是很清晰明了。在这里将子弹发射出去,就是进行的栈的弹出,也叫出栈。1️⃣栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在原创 2021-09-14 15:44:19 · 370 阅读 · 22 评论 -
数据结构系列 线性表 【重点】 Linked List “链表”系列精讲 和优缺点经验总结!⚡附推荐LeetCode经典练习题。
文章目录什么是链表链表的实例链表的定义链表的构成链表的分类✅单向链表????代码实现✅双向链表????代码实现✅循环链表????优缺点总结✅优点❌缺点复杂度练习题推荐什么是链表链表的实例对于什么是链表,首先我们来看一个图片这种玉米的链式捆绑结构相信大家都见过吧,如果没见过的话肯定见过这个,这个铁链,一环套一环,这些都是链式结构,是不是一目了然,很容易理解呢!链表的定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中原创 2021-09-12 19:18:05 · 414 阅读 · 25 评论 -
数据结构系列 线性表 【重点】数组Array详解,以及优缺点总结!⚡附加LeetCode实战练习题
文章目录什么是数组?优缺点【优点】【缺点】实战练习题补充什么是数组? “数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。” “数组是可以在内存中连续存储多个同种类型元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。”优缺点【优点】按照索引查询元素速度快;能存储大量数据;按照索引遍历数组方便;数组中数据存储在内存中是连续的,并且同一数组原创 2021-09-11 22:32:32 · 455 阅读 · 39 评论 -
数据结构 常见的八大数据结构汇总 为什么要学习数据结构?解读数据结构!进阶必看!
什么是数据结构? 数据结构(Data Structure)是一门研究数据的组织和管理的学科。往往从外在表现为一组数据的集合或者容器。概念解释元素(Element):被管理的原子数据,元素类型不限。集合(Collection):存放元素的容器,需要利用一定的数据结构知识对元素进行组织。遍历(Traversal)/ 迭代(Iterate): 在数据结构的语境下,往往表示对一个集合中的所有元素都按照一定的顺序处理一次。为什么要学习数据结构? 在编写程序的时候,通常都会用到数据结构的相关知识,在很多的原创 2021-09-11 21:38:06 · 364 阅读 · 2 评论