数据结构

【数据结构初阶】排序算法(中)快速排序专题

快速排序专题快速排序是一种高效的排序算法,由C.A.R. Hoare于1960年提出。它采用分治法的思想,通过选择一个“基准”元素,将待排序的数组分成两部分,左边的部分比基准小,右边的部分比基准大,然后递归地对这两部分进行排序。由于其较低的时间复杂度和平衡的空间复杂度,快速排序在实际应用中被广泛使

【MySQL基础篇】SQL指令:DQL及DCL

在MySQL数据库中,SQL指令一般可以分为四大类:数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。本文将重点介绍DQL和DCL的概念及其用法,并提供相应的代码示例。一、数据查询语言(DQL)数据查询语言(DQL)主要用于从数据库中查询数据,最常用

Java 数据结构篇-实现堆的核心方法与堆的应用(实现 TOP-K 问题:最小 k 个数)

堆的核心方法堆是一种特殊的树形数据结构,广泛应用于优先队列、图的最短路径算法等。堆有两种类型:最大堆和最小堆。最大堆的每个节点都大于或等于其子节点,最小堆则相反。在 Java 中,我们可以使用数组来有效地实现堆。下面是一些关键的操作方法:插入操作:将一个元素插入堆中,之后需要通过上浮操作维护

java之顺序表的创建

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

Python筑基之旅-搭建Python开发环境及库

在开始学习Python之前,首先要为我们的开发环境搭建做好准备。这将帮助我们高效地编写、测试和运行Python代码。本文将详细介绍如何搭建Python开发环境以及如何管理Python库。1. 安装Python首先,你需要在你的计算机上安装Python。可以访问Python的官方网站 python

搜索Mysql的JSON字段的值

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

理解Python的链表ListNode

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

二叉搜索树 和 哈希表 (JAVA)

二叉搜索树(Binary Search Tree,BST)和哈希表(Hash Table)是两种常用的数据结构,各自有其独特的特点和应用场景。下面将对这两种数据结构进行详细比较,并给出相应的Java代码示例。二叉搜索树二叉搜索树是一种特殊的二叉树,对于每一个节点,其左子树中的值都小于该节点的值,

优先级队列(堆)学的好,头发掉的少(Java版)

优先级队列(堆)学的好,头发掉的少(Java版)在数据结构领域,优先级队列(Priority Queue)是一个非常重要的概念。它允许我们根据优先级来处理元素,而不仅仅是按插入顺序。优先级队列可以通过多种方式实现,其中最常见的实现方式是使用堆(Heap)结构。本文将对优先级队列的概念、实现及其应用

DS:八大排序之堆排序、冒泡排序、快速排序

在计算机科学中,排序是一种基础而重要的操作。排序算法种类繁多,各具特点,其中相比常见的排序算法,堆排序、冒泡排序和快速排序是经典的示例。接下来,我们将详细探讨这三种排序算法,并提供相应的代码示例,以加深理解。1. 冒泡排序冒泡排序是一种简单的排序算法,通过重复遍历待排序的列表,比较相邻元素并交换