自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 学习:Java中的内存管理

当一个 Java 程序执行时,它会以不同的方式使用内存。堆(Heap)是 JVM 中的一部分内存区域,专门用于存放对象实例。这也是垃圾回收器主要工作的内存区域。所有的垃圾回收操作都集中在堆上,确保堆内的可用空间最大化。垃圾回收器的主要任务是查找并删除不再使用的对象,即那些无法被任何活动线程访问的对象。通过自动化这一过程,Java 使得开发者无需手动管理内存释放,极大地减少了内存管理的复杂性和错误率。

2024-08-12 21:44:54 1093

原创 学习:Java 中的双列集合(HashMap、LinkedHashMap 和 TreeMap )

本文深入探讨了 Java 中的双列集合,包括 HashMap、LinkedHashMap 和 TreeMap。这些集合在功能和性能上各有千秋,开发者应根据具体需求选择合适的集合类。理解它们的底层原理和特点,有助于编写出高效、可维护的代码。

2024-08-09 16:43:56 1112

原创 学习:Java中的Set集合框架

Java 提供了多种集合类来处理数据,其中 Set 接口是一个重要的部分。它主要用于存储不重复的元素。本文将深入探讨 HashSet、LinkedHashSet 和 TreeSet 这三种实现,并详细解释它们的底层原理和使用场景。

2024-08-07 14:36:49 800

原创 学习:平衡二叉树的旋转机制

平衡二叉树(Balanced Binary Tree)是一种二叉树,其特点是在插入或删除节点时,通过一定的机制保持树的平衡。常见的平衡二叉树包括AVL 树和红黑树。本文主要以 AVL 树为例,讲解其工作原理和实现细节。平衡二叉树通过旋转操作保持树的平衡,从而确保操作的时间复杂度维持在 \(O(\log n)\)。四种基本的旋转操作(左左、左右、右右和右左)是维护树平衡的核心手段。理解这些旋转操作及其应用,可以帮助我们设计和实现高效的数据结构,确保在各种应用场景中提供稳定的性能。

2024-08-07 14:18:15 896

原创 拓展:二叉树对称性与镜像问题

构造镜像树的过程中,通过递归遍历,每个节点的左右子树进行交换。这个操作可以加深对二叉树结构的理解,以及递归和迭代在树操作中的应用。这与判断树是否对称类似,只是比较的是两棵树之间的镜像关系。熟练掌握这类问题,可以加深对树的对称性和镜像性质的理解。反转二叉树的操作同样涉及递归。理解如何有效地操作二叉树的结构,是解决类似问题的基础。层次遍历是广度优先搜索(BFS)的一个应用,通过这个问题可以理解如何利用队列实现BFS,以及在处理每层节点时,如何管理队列中的元素。

2024-08-01 22:47:28 348

原创 题解:对称二叉树(101. Symmetric Tree)

判断二叉树是否对称是一个经典问题,常用的解法包括递归和迭代。递归方法自然直观,适合初学者理解,但可能会有栈溢出的问题。迭代方法通过队列来实现遍历,避免了栈溢出,适合处理深度大的树。

2024-08-01 22:31:36 396

原创 题解:相同的树(100. Same Tree)

在这类题目中,常用的遍历树的方法包括深度优先搜索(DFS)和广度优先搜索(BFS)。DFS 通常实现简单,但在处理深度大的树时需要注意栈溢出问题。BFS 则使用队列来实现,不存在栈溢出风险,代码可读性也较好。通过这两种方法,我们可以有效地判断两棵树是否相同。这类问题的核心是对树的遍历和对节点的比较,掌握这些技巧可以帮助我们解决许多类似的树问题。

2024-07-31 22:37:36 812

原创 题解:二叉树的中序遍历(94.二叉树的中序遍历)

本文介绍了二叉树中序遍历的三种方法:递归、迭代和 Morris 遍历。递归方法最为直观,迭代方法显式使用栈,Morris 遍历则巧妙地使用空闲指针,实现了 O(1) 空间复杂度。选择哪种方法主要取决于具体应用场景和对空间复杂度的要求。Morris遍历还没弄得很明白!

2024-07-30 21:15:50 817

原创 学习: Java 中的 List(方法与遍历方式)

List 接口表示一个有序的集合,集合中的元素可以通过索引访问。与 Set 不同,List 允许重复的元素。List 是一种线性的数据结构,适合在需要保持元素顺序的场景下使用。List 接口常见的实现类有 ArrayList、LinkedList 和 Vector。List 接口是 Java 集合框架中至关重要的一部分,为开发者提供了处理有序集合的强大功能。通过各种方法和遍历方式,List 可以高效地操作和管理数据。

2024-07-30 17:40:24 1048

原创 学习:Java中的单列集合顶层接口(Collection)

Collection接口是Java集合框架中的顶层接口之一,定义了单列集合的基本操作。它是一个通用的接口,广泛用于表示一组对象的集合。Collection接口本身不能直接实例化,因为它是一个接口而不是类,但我们可以使用它的各种实现类,如ArrayListHashSetLinkedList等。2. Collection接口的常用方法- boolean add(E e) 添加元素到集合中。- void clear() 清空集合。- boolean remove(Object o) 从集合中删除指定的元素。

2024-07-30 16:35:28 888

原创 题解:棒球比赛(682. 棒球比赛)

这道题的关键在于理解每种操作的含义并正确维护得分栈。通过使用栈结构,我们能够方便地实现对前两次得分的引用和对得分的撤销操作。

2024-07-29 22:44:41 345

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除