数据结构

数据结构 玩转数据结构 12-4 旋转操作的基本原理

0 课程地址 https://coding.imooc.com/lesson/207.html#mid=14349 1 重点关注 1.1 二分搜索树的性质 代码草图 1.2 破坏二分搜索树的四种情况 1.3 左左情况解析 1.4 左左情况解决:右旋转(图中应该是右旋转) 2 课程内容 3 Codin ......
数据结构 结构 数据 原理 12

Redis学习——基础数据结构

基础数据结构 String 唯一的key,获取对应value,不同value结构不同 Json序列化为字符串,字符串反序列化为Json 常见用途,缓存用户信息 动态字符串 位图数据结构 List 相当于LinkedList,链表不是数组。 插入很快,定位索引较慢,常用作异步队列(队列、栈都可以) 一 ......
数据结构 结构 基础 数据 Redis

【Java 并发】【十】【JUC数据结构】【八】ConcurrentHashMap原理

1 前言 上一节我们讲解了HashMap底层的实现,但是HashMap不是线程安全的,存在多个线程并发操作的线程安全的问题。今天我们就来看一下ConcurrentHashMap这个数据结构,并发安全版本的Map结构。 2 ConcurrentHashMap内部源码 2.1 内部属性 // 最大容量上 ......

【Java 并发】【十】【JUC数据结构】【七】ConcurrentHashMap前置篇HashMap原理

1 前言 前几节我们分析了一些并发安全的数据结构,分别是CopyOnWrite系列的CopyOnWriteArrayList、BlockingQueue阻塞队列系列的LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue。接下来我们要讲解一个很重要的并发安 ......

学习数据结构

数据结构学习 简单了解一下时间复杂度之类之后,我们接下来学习下面的 持续更完,本人依据知识框架结合chatgpt的定义总结 线性表 线性表是最基本的一种线性数据结构 设 某个线性表中有n个元素,n表示该线性表的长度。 我们想象一个磁条,上面是一格格的储存块,我们要存储一个线性数据结构 有顺序储存结构 ......
数据结构 结构 数据

【Java 并发】【十】【JUC数据结构】【六】SynchronousQueue同步阻塞队列原理

1 前言 看过了LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue等阻塞队列,这节我们又要看一个不一样的队列,SynchronousQueue同步阻塞队列。 2 SynchronousQueue是什么 SynchronousQueue的同步队列,使用的 ......

数据结构

数据结构,也就是 Data Structure,是一种存储数据的结构体,数据与数据之间存在着一定的关系,这样的关系有数据的逻辑关系、数据的存储关系和数据的运算关系。 在 Java 中,数据结构一般可以分为两大类:线性数据结构和非线性数据结构。 数组 数组这种数据结构最大的好处,就是可以根据下标(或者 ......
数据结构 结构 数据

【Java 并发】【十】【JUC数据结构】【五】DelayQueue延迟阻塞队列原理

1 前言 前两节我们看了BlockingQueue阻塞队列的两个子类,LinkedBlockingQueue、ArrayBlockingQueue,它们都是使用了ReentrantLock、Condition的来实现的,在进行插入操作、拉取数据操作之前为了并发安全都需要进行加锁;然后插入时候在容量满 ......
数据结构 队列 DelayQueue 原理 结构

第7章_InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MysQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般是不同的,甚至有的存储引擎比如Memory都 ......
结构 数据 InnoDB

【Java 并发】【十】【JUC数据结构】【三】LinkedBlockingQueue阻塞队列原理

1 前言 这节我们就来看看LinkedBlockingQueue内部实现的原理。 2 LinkedBlockingQueue的使用 在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下: 2.1 插入数据 public class LinkedBlockingQueueTes ......

【Java 并发】【十】【JUC数据结构】【二】BlockingQueue阻塞队列原理

1 前言 这节我们就来看看BlockingQueue阻塞队列是什么都有哪些具体实现。 2 BlockingQueue阻塞队列是什么 BlockingQueue阻塞队列,它是一个提供阻塞功能的队列容器。首先它是一个队列容器,能够存储东西,提供数据入队功能,进行数据存入;提供数据取出功能,进行出队,如下 ......

【Java 并发】【十】【JUC数据结构】【一】CopyOnWriteArrayList原理

1 前言 我们前面看过了volatile、synchronized以及AQS的底层原理,以及基于AQS之上构建的各种并发工具,ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier,那么我们这节该看什么了,是不是要看运用了。在日常的业务编程中经常使用 ......

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(下)

承接上文 承接上一篇文章【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)】我们基本上对层级时间轮算法的基本原理有了一定的认识,本章节就从落地的角度进行分析和介绍如何通过Java进行实现一个属于我们自己的时间轮服务组件,最后,在 ......

数据结构

〽️ 数据结构 顺序结构 顺序栈(Sequence Stack) SqStack.cpp 顺序栈数据结构和图片 typedef struct { ElemType *elem; int top; int size; int increment; } SqStack; 队列(Sequence Queu ......
数据结构 结构 数据

数据结构 玩转数据结构 12-3 检查二分搜索树性质和平衡性

0 课程地址 https://coding.imooc.com/lesson/207.html#mid=14348 1 重点关注 1.1 代码草图 1.2 代码实现检查二分搜索树和平衡性 利用了二分搜索树中序遍历由小到大的特性 和 平衡二叉树的平衡因子大于1的特性 //1 校验二分搜索树(中序遍历参 ......
数据结构 结构 数据 平衡性 性质

Python常见的数据结构

Python常见的数据结构包括: 列表(List):一种有序的、可变的序列数据结构,可以存储不同类型的元素。支持添加、删除、修改和查询元素等操作。 元组(Tuple):与列表类似,但元组是不可变的,一旦创建就无法修改。元组通常用于表示一个具有一定结构的记录。 集合(Set):一种无序的、不重复的元素 ......
数据结构 常见 结构 数据 Python

【数据结构】B+树的C语言实现

1 // 2 // 3 /**************************************************************** 4 B+树的实现。这个B+树是建立在操作系统的文件系统之上的,并没有自己的文件系统。 5 B+树的节点全部存储在一个文件中。由于每个节点的大小是 ......
数据结构 语言 结构 数据

深入理解MySQL索引底层数据结构

在日常工作中,我们会遇见一些慢SQL,在分析这些慢SQL时,我们通常会看下SQL的执行计划,验证SQL执行过程中有没有走索引。通常我们会调整一些查询条件,增加必要的索引,SQL执行效率就会提升几个数量级。我们有没有思考过,为什么加了索引就会能提高SQL的查询效率,为什么有时候加了索引SQL执行反而会... ......
数据结构 底层 索引 结构 数据

Javascript中扁平化数据结构与JSON树形结构转换详解

Javascript中扁平化数据结构与JSON树形结构转换详解 原文链接:https://www.jb51.net/article/247525.htm +目录一. 先说简单的树形结构数扁平化处理二. 再讲将扁平化数据结构转JSON树状形结构扩充一个知识点:for in 与 for of 的区别 : ......
结构 树形 数据结构 扁平 Javascript

数据结构和算法总览

1.数据结构 2.算法 3.数据结构脑图 4_1.算法脑图_上部分 4_2.算法脑图_下部分 5.算法--切题四件套 6.算法--五遍刷题法 ......
数据结构 算法 结构 数据

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)

承接上文 承接之前的【精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南】,让我们基本上已经知道了「时间轮算法」原理和核心算法机制,接下来我们需要面向于实战开发以及落地角度进行分析如何实现时间轮的算法机制体系。 前言回 ......

Redis支持的数据结构

Redis数据库提供了多种数据结构,其中最常见的数据结构有String(字符串)、List(表)、Set(集合)、Hash(散列)、Sorted Sets(有序集合)。 (1)String(字符串) String字符串是Redis中最基本也是最简单的数据结构,其值是二进制安全的,值的数据类型可以为数 ......
数据结构 结构 数据 Redis

js 递归遍历树形结构数据,返回新的数组

工作中,我们经常会遇到这样的情况:后端返回的数组,只需要取name、value生成新的数组,或者是将某个属性名修改,生成新的数组。 递归是一种常见的解决问题的方法,即把问题逐渐简单化。“递归”的基本思想是:自己调用自己。 实例如下 handleDg(arrs, that) { arrs.map((i ......
树形 数组 结构 数据 js

02142数据结构导论复习笔记

第一章 概论 概论⭐⭐ 数据结构:计算机组织数据和存储数据的方式。 数据结构:指一组相互之间存在一种或多种特定关系的数据的组织方式和它们在计算机内的存储方式,以及定义在该组数据上的一组操作。 引言⭐⭐ 算法+数据结构=程序 数据、数据元素和数据项⭐⭐⭐ 数据:所有被计算机存储、处理的对象。 数据元素 ......
数据结构 导论 结构 笔记 数据

MySQL(九)InnoDB数据结构

InnoDB数据结构 1 数据库的存储结构:页 ​ 索引信息和数据记录都是保存在文件上的,确切来说是保存在页结构中;另一方面,索引是在存储引擎上实现的,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同的存储引擎的存放格式是不同的,比如Memory甚至不使用磁盘进行存储数据。 磁盘和内 ......
数据结构 结构 数据 InnoDB MySQL

【数据结构】串 - 习题

就一道题,开摆了orz 习题 等值子串 【问题描述】如果字符串的一个子串(其长度大于1)的各个字符均相同,则称之为等值子串。试设计一算法,求出串S中一个长度最大的等值子串;如果串S 中不存在等值子串,则输出信息no 【输入形式】输入一个字符串,并以!结束 【输出形式】输出第一个出现的最长字符串,如果 ......
数据结构 习题 结构 数据

【数据结构】二叉树先序、中序、后序及层次遍历(C语言版)

一、图示展示 1. 先序遍历 先序遍历可以想象为,一个小人从一棵二叉树根节点为起点,沿着二叉树外沿,逆时针走一圈回到根节点,路上遇到的元素顺序,就是先序遍历的结果 先序遍历结果为:A B D H I E J C F K G 动画演示: 记住小人沿着外围跑一圈(直到跑回根节点),多看几次动图便能理解 ......
数据结构 层次 语言 结构 数据

[数据结构与算法] 树状数组

链接:树状数组_哔哩哔哩 (只有五分钟,多看几遍,就会了) 模板题:P3374 【模板】树状数组 1 - 洛谷 14.1 作用 求前缀和、区间和(跟前缀和的作用一样); 元素修改之后能高效更新:(时间复杂度) 前缀和:$O(log \space n)$; 区间和:$O(log \space n)$; ......
数据结构 数组 算法 结构 数据

交货单打印之二:JZT_WMS数据结构熟悉中

准备交货单打印的用,SAP将交货单下传至WMS,然后再打印单据,配货出库。 INF_BILL_OSH是 接口表。 INF_BILL_OSH_upload是接口上传表 SELECT * FROM INF_BILL_OSH_upload WHERE ROWNUM<1000 and created_tim ......
交货单 数据结构 结构 数据

第06章 索引的数据结构

1. 为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教科书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一 ......
数据结构 索引 结构 数据