数据结构
HBase的数据结构原理与使用
一、HBase简介 HBase是一个开源的、分布式的、版本化的NoSQL数据库(即非关系型数据库),依托Hadoop分布式文件系统HDFS提供分布式数据存储,利用MapReduce来处理海量数据,用Zookeeper作为其分布式协同服务,一般用于存储海量数据。HDFS和HBase的区别在于,HDFS ......
《数据结构与算法》之树
导言: 我们在前面的学习中认识到了栈还有队列这些线性的数据存储结构,而现在我们要了解的数据结构却不是线性的了,我们试想线性的结构最大的缺点查询不方便,不管你是从前往后开始查找数据,还是从后往前开始查找数据都是一个一个的比对, 效率很低,所以不推荐使用,那么我们的树结构来存储的话,查找数据会不会被优化 ......
Redis数据结构--整数集合intset
IntSet是redis集合的一种实现方式,基于整数数组来实现,并且具备长度可变,有序等特征; 整数集合的实现 typedef struct intset{ //编码方式 uint32_t encoding; //集合包含元素的数量 uint32_t length; //保存元素的数组 int8_t ......
JavaScript中map数据结构的使用及示例
# 前言 > Map是ES6新增的一种数据结构,它类似于对象,但可以使用任意类型的值作为键,并且可以保持插入顺序。以下是JavaScript中Map数据结构的使用及示例: #### 原文地址:[https://www.ngxcode.com/archives/716.html](https://ww ......
Redis数据结构--SDS动态字符串
Redis中保存的key是字符串,value往往是字符串或者字符串的集合,但是redis并没有直接使用c语言中的字符串 原因在于: 1.获取字符串长度需要通过运算 2.非二进制安全 3.不可修改 SDS struct sdshdr{ //记录buf数组中使用字节的数量 //等于SDS所保存字符串的长 ......
《数据结构与算法》之队列与链表复习
导言: 我们在上一次学习了堆栈的数据结构以后,可以了解到它是受限制的操作,比如我们操作只能在栈顶,现在我们要学习的东西叫做队列,它也是受限制的一种数据结构,它的特点是队头只出数据,而队尾只入数据, 它的结构就和它的名字,像我们平时排队一样先来的人肯定要先服务啊,所以它的英文叫做Frist In Fr ......
大二上 | 数据结构期中试卷
这是 2019 级的数据结构期中试卷,老师是汪芸老师。 当时考了 66 分,作业也经常得“F”,留下了深刻的印象…… 一共有两张图片: ......
Redis数据结构:高频面试题及解析
## 概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性 ......
Java开发技巧-数据结构-使用HashSet判断主键是否存在、使用Pair成对结果返回/Triple三个对象返回
场景 Java中使用HashSet判断主键是否存在 HashSet实现Set接口,由哈希表(实际上是HashMap)实现,但不保证set的迭代顺序,并允许使用null元素。 HashSet的时间复杂度跟HashMap一致,如果没有哈希冲突则时间复杂度为O(1), 如果存在哈希冲突则时间复杂度不超过O ......
【技术积累】数据结构中的二叉树【一】
博客推行版本更新,成果积累制度,已经写过的博客还会再次更新,不断地琢磨,高质量高数量都是要追求的,工匠精神是学习必不可少的精神。因此,大家有何建议欢迎在评论区踊跃发言,你们的支持是我最大的动力,你们敢投,我就敢肝 ......
redis通用命令及其五种基本数据结构
Redis通用命令介绍: KEYS:查看符合模版的所有key, DEL:删除一个指定的KEY EXISTS:判断KEY是否存在 EXPIRE:给一个key设置有效期,有效期到期时该KEY会自动删除 TTL:查看一个key到剩余有效期 示例: 127.0.0.1:6379> exists test_k ......
数据库结构
teachmanger   answer course homework manger stucourse student teacher teacourse video   answer   Fields Field Type Collation Null Key Defa ......
数据结构整理
数据结构模板整理,请自取。 ### 线段树 [$\operatorname{Sgt}$](https://www.luogu.com.cn/paste/870hl6p4) [$\operatorname{BIT}$](画大饼) ### 平衡树 [$\operatorname{Treap}$](htt ......
几种常见的 Python 数据结构
摘要:本文主要为大家讲解在 Python 开发中常见的几种数据结构。 数据结构和序列 元组 元组是一个固定长度,不可改变的 Python 序列对象。创建元组的最简单方式,是用逗号分隔一列值: In [1]: tup = 4, 5, 6 当用复杂的表达式定义元组,最好将值放到圆括号内,如下所示: ......
二、六大数据结构
简单动态字符串SDS 杜绝缓冲区溢出(SDS会先扩展再修改) 减少字符串操作中的内存重分配次数(预分配和惰性清除) 二进制安全(二进制处理,使用len属性而非空格来判断字符串是否结束) 链表 指针相连,空间不连续,天然支持扩容,插入删除操作高效(时间复杂度为O(1)),但缺点是随机访问低效(时间复杂 ......
MySQL索引的数据结构
一:索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。 1:索引优缺点 说明: ......
数据结构 in Golang:Hash Tables(哈希表)
# 数据结构 in Golang:Hash Tables(哈希表) ### 场景 - 水果店的价格表: - 苹果 Apple:3元 - 香蕉 Banana:4元 - 桃子 Peach:2元 - 梨 Pear:3元 - 找到一种水果的价格: - 可以使用 binary search,通过名称来查找,耗 ......
数据结构与算法-08堆
## 堆 堆(Heap)是一种特殊的树形数据结构,它满足以下两个条件: 堆是一棵完全二叉树,即除了最后一层,其他层都是满的,最后一层从左到右填满。 堆中每个节点的值都大于等于(或小于等于)其子节点的值,这种性质称为堆序性。 根据堆序性,堆可以分为两种类型: - 大根堆(Max Heap):每个节点的 ......
数据结构之线性表
#### 线性表 * 定义:线性表是由n个数据元素组成的**有限序列**,每一个数据元素有且只有一个直接前驱和一个直接后继(第一个元素只有直接后继,最后一个元素只有直接前驱) * 线性表的存储结构:分为顺序存储与非顺序存储 1. 顺序存储结构通常采用**数组**实现 * 优点:易存取数据元素 * 缺 ......
数据结构与算法-06散列表
## 散列表 散列表(Hash Table),也称为哈希表,是一种基于哈希函数(Hash Function)实现的数据结构,它支持快速的插入、删除和查找操作。 散列表将每个元素的关键字(Key)通过哈希函数映射到一个固定的位置,称为散列值(Hash Value),然后将元素存储在该位置上。 一般编译器自动分配释放 堆(heap)一般由程序员分配释放,或程序结束后OS释放 LIFO 后进先出 ## 栈的实现 ``` class Stack(object): def __init__(self): self.__list = [] def push ......
数据结构与算法-队列
## 队列 FIFO 先进先出 ### 队列的实现 ``` class Queue(object): def __init__(self): self.__list = [] def enqueue(self, item): self.__list.append(item) def dequeue( ......
数据结构与算法-链表
## 链表 一个节点分为两部分,数据区和链接区, 链接区指向下一个节点 ### 单项链表  a, b = b, a ......
数据结构与算法-顺序表
## 顺序表 用连续单元存储数据(地址连续) 变量名指向起始地址 索引实际是从起始位置的偏移量 1. 一体存储 元素内置 2. 分离存储 元素外置 3. 动态顺序表(可以数据扩充) ## 顺序表的操作 添加元素 末尾添加 O(1) 中间插入O(n) 插入非保序O(1) 删除元素 末尾删除 O(1) ......
每日记录(数据结构 第 三 章 栈与队列 二 )
队列队列是一种先进先出 ( F I F O ) (FIFO)(FIFO) 的线性表. 在表一端插入,在另一端删除。 0.队列的基本概念定义只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表逻辑结构与线性表相同,仍为一对一关系存储结构用顺序队列或链队存储均可运算规则先进先出(FIFO ......
每日记录(数据结构 第 三 章 栈与队列 )
一、栈栈( s t a c k ) ( l a s t i n f i r s t o u t ) (stack)(last \ in first\ out)(stack)(last infirst out)后进先出 栈的基本概念定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构与线性表相 ......
数据结构(严蔚敏)
第1章 绪论 1.1 什么是数据结构 1.2基本概念和术语 1.3抽象数据类型的表示与实现 1.4 算法和算法分析 1.4.1算法 1.4.2算法设计的要求 1.4.3算法效率的度量 1.4.4 算法的存储空间需求 第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线 ......
[记]Rust结构体转换为二进制数据
这个函数可以直接读取或者转化为二进制数据,适用于系统编程; ~~~rust use std::mem; struct Testdata{ ucc:u8, udd:u8, } fn main() { let ddd = Testdata{ucc:2,udd:9}; unsafe{ let uu16:u ......