数据结构

FTL潜规则:调优,才是算法精华

这是一种Flash的内存管理算法,属于各个厂商的核心机密,每个厂商的处理方式不同,有的处理简单,有的处理复杂。 ... »

wuyue525

数据结构第一天

数据 > 数据元素 > 数据项 数据项是构成数据元素的不可分割的最小单位 数据是由数据项组成的,数据项是由数据元素组成的 数据元素 组成数据的基本单位 与数据的关系:是集合的个体 数据对象 性质相同的数据元素的集合 与数据的关系:是集合的子集 数据元素之间的逻辑关系: 逻辑结构的种类 1)线性结构( ... »

rabbitandtankbestmatch

《数据结构》之栈和堆结构及JVM简析

导言: 在数据结构中,我们第一了解到了栈或堆栈,它的结构特点是什么呢?先进后出,它的特点有什么用呢?我们在哪里可以使用到栈结构,栈结构那么简单,使用这么久了为什么不用其它结构替代? 一.程序在内存中的分布 作为一个程序猿,我们应该会常常跟代码打交道,那么我们所编写的程序或代码,是怎么跑起来的,操作系 ... »

【数据结构】吉司机线段树

# 【数据结构】吉司机线段树(Segment Tree Beats) 吉司机线段树,是由杭州学军中学的吉如一在2016年国集论文当中提出的,解决了区间最值操作和区间历史最值问题。 ### 题目描述 给出一个长度为 $n$ 的数列 $A$,同时定义一个辅助数组 $B$,$B$ 开始与 $A$ 完全相同 ... »

fanghaoyu801212 笔记

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

导言: 在计算机发明之初是为了计算,所以叫计算机,对我们给定的一个算式,然后给定的一套规则 加,减,乘,除,等,它就可以自己进行计算了,然后返回一个结果给我们 对于一般的算式 : 2+3+4 很显然,从左往右依次扫描,依次相加很简单的计算出来,因为它们是同级运算,可以很简单的做到 但是,常见的运算不 ... »

Github疯传!200本计算机经典书籍!

好书在精不在多,每一本经典书籍都值得反复翻阅,温故而知新! 下面分享几本计算机经典书籍,都是我自己看过的。 ## 重构 改善既有代码的设计 ![](http://img.topjavaer.cn/image/image-20221103084428228.png) 就像豆瓣评论所说的,看后有种醍醐灌 ... »

tyson03

Github疯传!谷歌师兄的LeetCode刷题笔记开源了!

有小伙伴私聊我说刚开始刷LeetCode的时候,感到很吃力,刷题效率很低。我以前刷题的时候也遇到这个问题,直到后来看到这个谷歌师兄总结的刷题笔记,发现LeetCode刷题都是套路呀,掌握这些套路之后,就变得非常简单了! 这份笔记是作者在找工作的时候,刷了几百道的LeetCode题目,然后按照数据结构 ... »

tyson03

红黑树是怎么来的

本文从二叉搜索树倾斜的原因(自上而下生长)出发,推出维持树形数据结构平衡性的关键:自下而上裂变式生长,进而引出裂变式生长的理论模型:2-3 树。由于 2-3 树实现上的复杂性,引出其实现上的替代品:红黑树。最后,我们讨论如何通过左旋、右旋以及颜色翻转这“三板斧”来维护红黑树插入和删除元素后的动态平衡... ... »

《数据结构与算法》之十大基础排序算法

一.冒泡排序 什么是冒泡排序? 冒泡排序是一种交换排序,它的思路就是在待排序的数据中,两两比较相邻元素的大小,看是否满足大小顺序的要求,如果满足则不动,如果不满足则让它们互换。 然后继续与下一个相邻元素的比较,一直到一次遍历完成。一次遍历的过程就被成为一次冒泡,一次冒泡的结束至少会让一个元素移动到了 ... »

Redis数据结构三之压缩列表

本文首发于公众号:Hunter后端 原文链接:Redis数据结构三之压缩列表 本篇笔记介绍压缩列表。 在 Redis 3.2 版本之前,压缩列表是列表对象、哈希对象、有序集合对象的的底层实现之一。 因为压缩列表本身结构上的一些缺陷,压缩列表这个结构被替换了,但是压缩列表结构本身有一些可取之处,并且替 ... »

Redis数据结构二之SDS和双向链表

本文首发于公众号:Hunter后端 原文链接:Redis数据结构二之SDS和双向链表 这一篇笔记介绍一下 SDS(simple dynamic string)和双向链表。 以下是本篇笔记目录: SDS 常数复杂度获取字符串长度 杜绝缓冲区溢出 减少修改字符串带来的内存重分配次数 二进制安全 兼容C字 ... »

MySQL索引数据结构入门详细教程

目录 引言 1. 什么是索引 2. 索引的数据结构 2.1 B+Tree 和 B-Tree 2.2 树高问题 2.3 什么样的搜索可以用到索引? 2.4 使用限制 2.5 自适应哈希索引 3. 小结 引言 之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近 »

架构师日记-从数据库发展历程到数据结构设计探析

本文针对数据存储相关名词概念进行了解释,重点介绍了数据库技术的发展史。为了丰富文章的可读性以及实用性,又从数据结构设计层面进行了部分技术实战能力的外延扩展,阐述了拉链表,位运算,环形队列等相关数据结构在软件开发领域的应用,希望本文给你带来收获。 ... »

Redis数据结构一之对象的介绍及各版本对应实现

本文首发于公众号:Hunter后端 原文链接:Redis数据结构一之对象的介绍及各版本对应实现 本篇笔记开始介绍 Redis 数据结构的底层实现。 当我们被问到 Redis 中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。 其实这几种数据类型在 Redis 中都由 ... »

使用NineData定制企业级数据库规范

NineData 提供企业级数据库规范,可以让原本枯燥无味的条款和规则变得更加有趣和有意义。NineData提供了可视化表结构编辑、数据管理功能、数据安全等功能。可以帮助我们更好地管理和保护公司的核心数据,确保公司的运营和声誉不受影响。 ... »

ninedata

数据结构与算法大作业:走迷宫程序(C语言,DFS)(代码以及思路)

好家伙,写大作业,本篇为代码的思路讲解 1.大作业要求 走迷宫程序 问题描述: 以一个 m * n 的长方阵表示迷宫, 0和1分别表示迷宫的通路和障碍。 设计一个程序, 对任意设定的迷宫, 求出一条从入口到出口的通路, 或得出没有通路的结论。 基本要求: (1) 实现一个以链表做存储的栈类型, 然后 ... »

FatTiger4399

几种常见的Python数据结构

摘要:本文主要为大家讲解在Python开发中常见的几种数据结构。 本文分享自华为云社区《Python的常见数据结构》,作者: timerring 。 数据结构和序列 元组 元组是一个固定长度,不可改变的Python序列对象。创建元组的最简单方式,是用逗号分隔一列值: In [1]: tup = 4, ... »

Java数据结构之LinkedList的用法详解

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。 一个单向链表包含两个值: 当前节点的值和一个指向下一个节点的链接。 一个双向链表有三个整数值: 数值、向后的节点链接、 »

算法 | 快速排序详解

1 快速排序基本思想 从待排序记录序列中选取一个记录(随机选取)作为基点,其关键字设为key,然后将其余关键字小于key的记录移到前面,而将关键字大于key的记录移到后面,结果将待排序记录序列分为两个子表,最后将关键字key的记录插入到分界线的位置。这个过程称为一趟快速排序。 经过这一趟划分之后,就 ... »