首页
学习
活动
专区
圈层
工具
发布
首页标签数据结构

#数据结构

数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

从零开始打造高性能数据结构——手把手教你实现环形缓冲

小此方

我们为什么需要环形缓冲(循环队列)?实际上,我们不妨先审视普通数组队列的局限性。正是这些缺陷,催生了环形缓冲这一高效、紧凑的数据结构。

500

【数据结构--C++】二叉搜索树:一听就会一写就废?这份带源码的避坑指南请收好!

小陈又菜

到今天,我们已经基本熟悉了C++的基础语法,之前我们学习的数据结构基础是使用C语言来描述的。那么今天对于进阶的数据结构我们使用C++语言来进行描述。本篇我们将学...

1100

从 “线性” 到 “分支”:一文摸清树结构的核心逻辑

用户11957406

               在接触树结构之前,我们学习的数据结构都是基于线性存储的,包括顺序表、链表、队列和栈等线性数据结构,而树结构是我们认识的首个非线性数...

800

栈:“后进先出” 的艺术,撑起程序世界的底层骨架

用户11957406

本文系统讲解栈这一数据结构,从基础概念到实际应用进行全面剖析。通过清晰的逻辑和丰富的实例,即使是数据结构初学者也能轻松掌握核心要点。

800

顺序表:数据结构中的基础线性存储结构

用户11957406

2.物理结构:在物理结构上,顺序表是基于数组的,一个连续开辟的空间,每个元素的地址是相互紧挨,也如同用一根线一样串联起来,所以在物理结构上也是线性的...

1200

【数据结构】二叉树进阶:层序遍历不仅是按层打印,更是形态判定的利器!

Extreme35

层序遍历是一种广度优先搜索(BFS),它按照从上到下、从左到右的顺序访问每一个节点。为了实现这一逻辑,我们需要借助一种“先进先出”的数据结构:队列。

1000

【数据结构】彻底搞懂二叉树:四种遍历逻辑、经典OJ题与递归性能全解析

Extreme35

二叉树是一种重要的数据结构,它具有一些独特的性质,这些性质在算法设计和数据结构的优化中非常有用。以下是二叉树的一些基本性质:

3000

【数据结构】建堆操作:向上调整与向下调整的数学推导与性能对比

Extreme35

堆(Heap)是一种特殊的完全二叉树数据结构,通常用于实现优先队列。堆的性质要求:在大顶堆中,任意节点的值都大于或等于其子节点的值;在小顶堆中,任意节点的值都小...

900

【数据结构】打破线性思维:树形结构与堆在C语言中的完美实现方案

Extreme35

在数组和链表的世界里,数据是一对一的线性关系。但在现实世界(如文件系统、组织架构)中,更多的是层次关系。

800

【数据结构】算法艺术:如何用两个栈(LIFO)优雅地模拟队列(FIFO)?

Extreme35

通过以上对比,我们可以发现,这两道题就像一对“镜像问题”,共同揭示了数据结构抽象的强大魅力。它们都要求我们绕过数据结构的直接行为,通过对其基本操作的组合与调度,...

1100

栈与队列的“跨界”对话:如何用双队列完美模拟栈的LIFO特性?

Extreme35

我们今天聚焦于一个经典的算法面试题,即 如何利用两个队列(Queue)来实现栈(Stack)的全部功能。队列遵循 FIFO(First-In, First-Ou...

700

【数据结构】万字深度解析 | 循环队列:为什么数组实现要牺牲一个单元?

Extreme35

循环队列是计算机科学中一个基础且至关重要的数据结构,它通过巧妙地将线性存储空间首尾相接,形成逻辑上的环形结构,有效解决了传统顺序队列(基于数组的队列)的“假溢...

800

【数据结构】手撕队列(Queue):从FIFO底层原理到高阶应用的全景解析

Extreme35

数据结构是计算机科学的基石,而**队列(Queue)**作为一种线性表,在操作系统、网络通信、算法设计等领域扮演着至关重要的角色。本节将从队列的定义、核心原则、...

1500

【Redis学习路|第二篇】数据结构与命令

超级苦力怕

Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一...

400

【C语言/数据结构】零基础打造控制台游戏:贪吃蛇实战教程----链表与Win32 API的完美结合!

Extreme35

Windows 这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外, 它同时也是⼀个很⼤的服务中⼼,调⽤这个服务中⼼的各种服务(每⼀种服务就是⼀个函数...

2810

算法深潜:链表中的生死之环(LeetCode 141 & 142 详解)

Extreme35

在链表数据结构中,"环"是一个经典且考察频率极高的话题。这类问题通常分为两个阶段:

1610

链表进化论:C语言实现带哨兵位的双向循环链表,解锁O(1)删除的奥秘

Extreme35

在数据结构领域,链表是一种灵活多变的结构。通过组合不同的连接方式和头部处理策略,我们可以衍生出八种主要的链表形态。了解这些分类,有助于我们理解本次实现的双向循环...

3310

数据结构宝典:用11个核心操作吃透单链表的指针艺术

Extreme35

链表是一种线性的存储结构。数据元素的逻辑顺序是通过节点中的指针链接次序实现的。链表中的每一块独立申请下来的空间,我们称之为节点(Node/结点)。

2810

深入浅出数据结构:手把手实现动态顺序表,从此不再怕数组扩容!

Extreme35

顺序表就像这样一排物理位置连续的存储空间,用来存放一系列相同类型的数据元素。数据元素在内存中是顺序存放的,因此得名。

1810

Typora 无法渲染 LaTeX 公式?两分钟教你彻底解决!

Extreme35

在学习 markdown 文档时,发现我的 LaTex 公式无法在 typora 渲染,而 typora 编辑器都是边输入边渲染,类似于下图这样:

3310
领券