redis 数据结构String之SDS

redis字符串(String)内存结构: 字符串对象底层数据结构实现为简单动态字符串(SDS)和直接存储,但其编码方式可以是int、raw或者embstr,区别在于内存结构的不同。 int编码 字符串保存的是整数值,并且这个正式可以用long类型来表示,那么其就会直接保存在redisObject的ptr属性里,并将编码设置为int raw编码 字符串保存的小于44字节的字符串值,则使用简单动态字符串(...

数据结构】吉司机线段树

数据结构】吉司机线段树(Segment Tree Beats)吉司机线段树,是由杭州学军中学的吉如一在2016年国集论文当中提出的,解决了区间最值操作和区间历史最值问题。题目描述给出一个长度为 \(n\) 的数列 \(A\),同时定义一个辅助数组 \(B\),\(B\) 开始与 \(A\) 完全相同。接下来进行了 \(m\) 次操作,操作有五种类型,按以下格式给出: 1 l r k:对于所有的 \...

数据结构与算法】最小生成树之普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法

目录 前言 一、最小生成树的概念 二、最小生成树的求解方法 三、练习题 四、最小生成树在实际应用中的例子 前言 最近非科班的同学学到了最小生成树并询问我,于是想趁热打火,来总结顺便复习一下~ 最小生成树(Minimum Spanning Tree,简称MST)是一个无向连通图中包含所有顶点的最短边集。在许多实际问题中,找到一个最小生成树对于理解和解决这些问题至关重要。本文将介绍最小生成树的概念、求解方法...

【BaseArray 数据结构

文章目录 一、BaseArray 数据结构1. 属性2. 方法 二、BaseArray 使用场景三、BaseArray 底层运行原理 BaseArray 是一个通用的、基于数组的数据结构,它是许多其他数据结构(如链表、栈、队列等)的基础。以下是 BaseArray 的详细介绍、使用场景和底层运行原理。 一、BaseArray 数据结构 BaseArray 是一个抽象类,它定义了一组基本操作,如添加、删除...

【ArrayStack栈数据结构及其应用】

本文主要介绍Java中ArrayStack栈数据结构的基本原理、实现方式以及使用场景。栈是一种具有后进先出(LIFO)特性的数据结构,Java中的ArrayStack使用数组实现,具有简单易用的特点,适用于多种应用场景。 一、栈的基本概念 栈(Stack)是一种线性数据结构,遵循后进先出(LIFO)的原则。它只允许在一端进行插入和删除操作,这一端被称为栈顶(Top)。在Java中,我们可以使用Array...

数据结构之排序专题 —— 快速排序原理以及改进方法(添加随机,三路快排)

内容概述 尽管此类博客已经非常非常多,而且也有很多写得很好,但还是想记录一下,用最容易理解的方式,并且多补充了一些例子。 快速排序基础核心版 一句话概述:快速排序是一种基于分治策略的排序算法,通过选择一个基准元素将数组分为两个子数组,并递归地对子数组进行排序,最终实现整个数组的排序。 先看例子,再去理解原理 “一句话概述” 中提到选一个基准元素,我们记作 key,接下来的每次排序都会基于 key 而展开...

数据结构之线性表(bsd, sys/queue.h)

数据结构之线性表 Author:Once Day Date:2023年5月27日 参考文档: Linux内嵌链表(sys/queue.h)详解_tissar的博客-CSDN博客嵌入式大杂烩周记第 3 期:sys/queue.h - 知乎 (zhihu.com)queue(7) - Linux manual page (man7.org)queue(3) - OpenBSD manual pageslis...

数据结构与算法》之栈结构

多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有FILO的特性,在编译的时候可以指定需要的Stack的大小栈的特点:先进后出 ,即Frist IN Last Out(FILO)栈这种数据结构就特别适合解决导言提出来的那种问题,对于复杂的计算,算式中带有优先级的符号,我们可以使用栈存储后缀表达式来计算既然要用到后缀表达式,那么我们就需要把我们熟知的中缀表达式转换为后缀表达式才能计算中缀...

数据结构】虽然很难很抽象,但是你还是得努力弄懂的数据结构——数组,你常用但是你懂它吗

数称为数组容量,也称为数组长度. 每个存储单元的地址是连续的,即每个元素连续存储,计算第i个元素地址所需时间是一个常量,时间复杂度是O(1),与元素序号i无关.存取任何一个元素的时间复杂度是O(1)的数据结构称为随机存取结构.因此,数据是数据存储结构. 数组通过下标识别元素,元素的下标是其存储单元序号,表示元素在数组中的位置.一维数组使用一个下标唯一确定一个元素.二维数组使用两个下标唯一确定一个元素. 数...

C/C++ 数据结构设计与应用(二):自定义数据结构的设计 (Design of Custom Data Structures)

C/C++自定义数据结构的设计 C++ 数据结构设计与应用:自定义数据结构的设计 (Design of Custom Data Structures)一、 类型选择与应用 (Type Selection and Application)1.1 内置类型的选择1.2 用户定义类型的选择1.3 类型选择的实例分析1.4 类型选择的影响 二、 类与结构体的使用场景 (Usage Scenarios of Cl...
© 2023 LMLPHP 关于我们 联系我们 友情链接 耗时0.033537(s)
2023-06-01 13:25:21 1685597121