数据结构

《数据结构与算法》之散列表

散列表 什么是散列表 “散列”的基本思想是: 1.以关键字key为自变量,通过一个确定的函数(散列函数),通过函数计算出确定的函数值,作为数据对象存储地址 2.可能不同散列对象会映射到一个散列地址上,则称之为冲突 需要某种解决策略 如上图: 我们依次读入数据时,对于同一个key值和散列函数,总有一些 ... »

5ran2yl

Java并发Map的面试指南:线程安全数据结构的奥秘

简介 在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。 本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具——并 ... »

flydean

【后端面经-数据库】Redis数据结构和底层数据类型

[TOC](【后端面经-数据库】Redis数据结构和底层数据类型) 声明:Redis的相关知识是面试的一大热门知识点,同时也是一个庞大的体系,所涉及的知识点非常多,如果用一篇文章罗列,往往会陷入知识海洋中无法感知其全貌,因此,这段时间我会试着拆分Redis的相关章节,辅以思维导图的形式介绍Redis ... »

C++算法之旅、05 基础篇 | 第二章 数据结构

acwing学习笔记,记录容易忘记的知识点和难题。数组实现单链表、双链表、栈、单调栈、队列、单调队列、KMP、字典树 Trie、并查集、数组实现堆、哈希表(拉链法、开放寻址法、字符串前缀哈希法)、STL常用容器 ... »

数据结构和算法

写代码的时候大脑想的总是数据结构和算法。大学学习 C 语言的时候, 书上看到的,有位编程大师说的就是, 编程就等于数据结构加算法。C 语言 有数组这个数据结构。有人说不是啊不是还有链表,不是还有栈,不是还 有队列 其实这 是表象,底层都是以数组的 形式组织设计的。C 语言 编程的时候 会使用到数组, ... »

Redis的五大数据类型的数据结构

概述 Redis底层有六种数据类型包括:简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。这六种数据结构五大数据类型关系如下: String:简单动态字符串 List:双向链表、压缩列表 Hash:压缩列表、哈希表 Sorted Set:压缩列表、跳表 Set:哈希表、整数数组 数据类型和 ... »

fhey

【单调队列】 单调队列的“扫描线”理解

#【单调队列】 单调队列的“扫描线”理解 **“如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理** - 比你强,而且比你影响时间更长。 - 某种意义上,数学思维是生活中的思考的延伸。 [算法学习笔记(66): 单调队列](https://zhuanlan.zhihu.com/p/3 ... »

学不会的并查集

# 前言 又被薄纱了捏,发现没有队友啥都做不了捏,发现自己并查集忘光光捏,惨捏,感觉自己好没有用捏,捏,捏……牢骚结束,努力捏~( ̄▽ ̄)~*? # 并查集 [并查集(Disjoint Set)](https://oi-wiki.org/ds/dsu/#%E5%85%B6%E4%BB%96%E5% ... »

2.0 Python 数据结构与类型

数据类型是编程语言中的一个重要概念,它定义了数据的类型和提供了特定的操作和方法。在 python 中,数据类型的作用是将不同类型的数据进行分类和定义,例如数字、字符串、列表、元组、集合、字典等。这些数据类型不仅定义了数据的类型,还为数据提供了一些特定的操作和方法,例如字符串支持连接和分割,列表支持排... ... »

LyShark

数据结构与算法(四):双向链表

# 基本概念 双向链表概念和单向链表是一致的,区别在于双向链表在单向链表的基础上,指针区域多了一个指向上一个节点的指针。单向链表内容可以参考我的上一篇文章:http://t.csdn.cn/Iu56H。 基本的数据结构如图所示:![在这里插入图片描述](https://img-blog.csdnim ... »

wangms821

BTC中的数据结构

# BTC中的数据结构 ## 普通指针 普通指针存储的是某个结构体在内存中的地址(假如P是指向一结构体的指针,那么P里面存放的就是该结构体在内存中的起始位置) ![image-20230802164519058](https://bucket01127.oss-cn-nanjing.aliyuncs ... »

codingbao

算法学习(一)—— 如何看待数据结构与算法

# 绪言 > 最近在通过阅读K神的《Hello 算法》学习数据结构与算法的知识,同时做一些博客笔记记录,方便日后的查找和复习 # 算法 > 数据结构与算法统称算法 ## 认识算法 算法更多的是一种逻辑,例如: - 查阅字典的原理与二分查找算法相一致。二分查找体现了分而治之的重要算法思想。 - 整理扑 ... »

sorrymine

数据结构之带头节点的单链表增删改查操作实现

单链表的定义 什么是单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 单链表的各个数据元素在物理上可以是离散存放的,每个结点除了存放数据元素外,还要存储指向下一个节点的指针。而顺序表是连续存放的,每个结点中只存放数据元素。 单链表的优点:不要求大片连续空间,改 ... »

romantichuaner

数据结构链表的基本操作

```java /*数据结构单向链表基本操作 节点类 */ import java.util.Iterator; import java.util.function.Consumer; public class shujujiegou implements Iterable {//整体 privat ... »

3-6-8

TiDB简述及TiKV的数据结构与存储

本文主要从TiDB的各类组件为起点,了解它的基础架构,并重点分析它在存储架构方面的设计,探究其如何组织数据,Table中的每行记录是如何在内存和磁盘中进行存储的。 ... »

Jcloud

《数据结构与算法》之图

导言: 图是数据结构教材上的最后一种数据结构了,它的使用范围最广,最多,也是最贴合我们实际生活的,图是一个多对多的数据结构,在前面的学习,了解到了一对一的数据结构 线性结构,以及一对多的结构 树形结构,现在要学的多对多的结构 图, 图是对我们现实生活中很多实体的抽象,因为实际的生活中,的确关系是复杂 ... »

5ran2yl

数据结构与算法(一): 稀疏数组

# 问题引入 在五子棋游戏或类似的游戏中,我们可以把整个棋盘想象成是一个有规律的二维数组,其值由0、1、2三个数字组成,0代表空白区域,1代表白子,2代表黑子。这种情况:即当一个数组中大部分元素为0或者为同一值时,存储该数组数据可以使用稀疏数组来对原始数组进行精简,以减少原始数组中无用数据所占的空间 ... »

wangms821