数据结构

链表的底层实现(Java版)(单向,双向,循环)

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的引用。链表有多种类型,包括单向链表、双向链表和循环链表。本文将介绍这三种链表的底层实现,主要使用Java语言进行示例。1. 单向链表单向链表是最基本的链表结构,每个节点只包含一个指向下一个节点的引用。下面是单向链表的

Java 【数据结构】 TreeSet&TreeMap(二叉搜索树详解)【神装】

在Java中,TreeSet 和 TreeMap 是基于红黑树(一种自平衡的二叉搜索树)实现的集合类,提供了高效的存储和查找数据的能力。本文将深入探讨这两种数据结构的特性、使用场景及其底层实现原理,并给出相应的代码示例。一、TreeSetTreeSet 是一个基于 NavigableSet 接口

【oj刷题】二分查找篇:二分查找算法的原理和应用场景

二分查找是一种高效的搜索算法,主要用于在已排序的数组或列表中查找特定的元素。其基本思想是通过不断将搜索范围缩小一半,从而迅速找到目标值。由于其时间复杂度为 O(log n),在处理大规模数据时,相较于线性查找(O(n))更为高效,因此在许多场景下都有广泛应用。原理二分查找的基本原理可以概括为以下

Java 数据结构篇-用链表、数组实现队列(数组实现:循环队列)

队列是一种重要的数据结构,具有先进先出(FIFO)的特性,广泛应用于各种计算机科学领域,例如操作系统的进程调度、任务管理等。在Java中,我们可以使用链表和数组(循环队列)来实现队列。本文将介绍这两种实现方法,并提供相应的代码示例。一、使用链表实现队列链表是一种动态数据结构,具有灵活的内存管理优

[初阶数据结构] 包装类 | 泛型

初阶数据结构:包装类与泛型在Java编程语言中,数据结构的设计与使用至关重要。在众多数据结构中,包装类与泛型是两个重要的概念,它们在开发过程中提供了极大的灵活性与便利性。接下来,我们将详细介绍这两个概念,并通过示例代码帮助理解。一、包装类包装类是指将基本数据类型(如 int、char、bool

搜索Mysql的JSON字段的值

在现代数据库管理系统中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式被广泛应用。MySQL从5.7版本开始,原生支持JSON数据类型,这使得我们可以方便地存储和查询JSON格式的数据。在某些场景下,我们可能需要在MySQL中搜索JSON字段的值,接下来

Java经典算法之快速排序算法

快速排序是一种广泛应用的排序算法,其平均时间复杂度为O(n log n),最坏情况下为O(n^2)。快速排序的基本思想是通过一个“基准”元素将数组分为两个子数组,使得左边子数组的所有元素都小于基准元素,而右边子数组的所有元素都大于基准元素,然后递归地对这两个子数组进行排序。快速排序的步骤选择

【Java 基础篇】Java 标准输出流详解:输出你的程序之美

在Java编程中,标准输出流是一个重要的组成部分,它允许我们将程序的输出结果打印到控制台上。输出流在调试、日志记录和用户交互等场景中扮演着不可或缺的角色。本文将详细介绍Java中的标准输出流以及相关用法,帮助大家理解和运用这一重要工具。1. 标准输出流概念在Java中,标准输出流通常通过Syst

【Java数据结构】---List(ArrayList)

Java数据结构:List(ArrayList)在Java编程中,数据结构是承载和组织数据的重要方式。List是Java集合框架中的一个接口,其中最常用的具体实现之一就是ArrayList。ArrayList是动态数组,可以存储任意类型的对象,具有快速随机访问的特性。本文将对ArrayList进行

自定义类型:联合和枚举

在编程中,自定义类型是提高代码可读性和可维护性的一个重要方面。两种常见的自定义类型是联合(Union)和枚举(Enum)。本文将详细探讨这两种类型的定义、用途以及相应的代码示例。1. 联合(Union)联合是一种特殊的数据结构,它允许在同一内存空间中存储不同类型的数据。联合中的所有成员共享同一块