数据结构

常用排序算法(下)

排序算法是计算机科学中重要的基础知识之一,它们的主要目的就是将一组数据按特定顺序进行排列。除了常见的排序算法,如冒泡排序、选择排序和插入排序外,还有一些其他常用的排序算法,比如归并排序、快速排序、堆排序等。本文将介绍这些排序算法及其实现代码示例。1. 归并排序归并排序是一种有效的、稳定的排序算法

java之顺序表的创建

顺序表(Sequential List)是一种线性数据结构,其底层通常采用数组来存储数据元素。顺序表的优点在于其存取速度快,可以通过下标直接访问元素,插入和删除操作的时间复杂度也比较明显。然而,顺序表在扩展时会涉及到数组的复制,内存管理也是一个需要注意的问题。顺序表的基本特性固定大小:顺序表一

[JAVASE] String类 StringBuffer类 StringBuilder类

在Java编程语言中,字符串处理是一个非常重要的部分。Java提供了几种不同的类来处理字符串,其中包括String、StringBuffer和StringBuilder。这三者各有特点,适用于不同的场景。下面我们将逐一介绍这些类,以及它们之间的区别,并通过代码示例加以说明。1. String类S

深入理解算法效率:时间复杂度与空间复杂度

算法效率是计算机科学中的一个重要概念,主要用来评估算法在执行过程中的性能。算法效率一般通过两个主要指标来衡量:时间复杂度和空间复杂度。下面我们将深入探讨这两个概念,并通过代码示例进行说明。一、时间复杂度时间复杂度是指算法执行所需时间的增长率,通常用大O符号表示。它反映了算法执行时间与输入规模之间

Java LeetCode篇-深入了解关于单链表的经典解法

在数据结构中,单链表是一种常见的线性数据结构,其由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在 LeetCode 上,单链表相关的问题种类繁多,例如反转链表、合并两个链表、寻找链表的中间节点等。在本篇文章中,我们将深入探讨一些经典的单链表解法,并通过代码示例来加深理解。1. 反转链表

Java 【数据结构】常见排序算法实用详解(下) 冒泡排序/快速排序/归并排序/非基于比较排序【贤者的庇护】

在Java编程中,排序算法是数据结构中非常重要的一部分。排序算法的主要目的是将一组无序的数据按照特定的顺序进行排列。本文将分块讲解几种常见的排序算法,包括冒泡排序、快速排序、归并排序和非基于比较的排序算法。冒泡排序冒泡排序是一种简单的排序算法,重复地遍历要排序的数列,比较相邻的元素并交换顺序不正

Java LeetCode篇-深入了解二叉树的经典解法(多种方式实现:构造二叉树)

在 LeetCode 上,二叉树是一种常见的数据结构,构造二叉树的方法变化多样,掌握其经典解法对于解决各种二叉树相关的问题非常重要。本文将深入探讨几种常用的构造二叉树的方式,并提供相应的 Java 代码示例。一、前序遍历与中序遍历构造二叉树最常用的构造二叉树的方法是根据前序遍历和中序遍历的结果。

数据结构——七种排序(java)实现

在计算机科学中,排序是一个重要的操作,它能够让数据以特定顺序排列,从而更方便地进行查找和管理。本文将介绍七种常见的排序算法,并提供相应的Java实现代码。1. 冒泡排序 (Bubble Sort)冒泡排序是一种简单的排序算法,工作原理是重复地走访要排序的元素,比较相邻元素并交换顺序错误的元素。

理解Python的链表ListNode

在Python中,链表(Linked List)是一种重要的数据结构,它由一系列节点(Node)组成,每个节点包含数据和指向下一个节点的指针。链表相较于数组(List)具有动态分配内存和高效插入/删除操作的优点。链表通常用于需要频繁插入和删除操作的场合。下面,我们将通过定义一个链表节点类ListN

从 MySQL 的事务 到 锁机制 再到 MVCC

在现代数据库管理系统中,事务、锁机制和多版本并发控制(MVCC)是确保数据一致性、多用户访问和高效性的重要组成部分。接下来,我们将逐一探讨这些概念,并通过示例代码来加深理解。一、事务事务是指一组操作的集合,这些操作要么全部成功,要么全部失败,保证数据的完整性。事务具有以下四个特性,通常称为ACI