#数据结构

数据结构-索引

数据结构。。。...
代码星球 ·2020-12-09

说一下redis中5种数据类型的底层数据结构

 阅读 redis设计与实现 一书的记录。未完待续。。。redis我们都知道有5种数据类型,分别是string,list,hash,set,zset,那么你知道它们的底层数据结构实现吗?redis底层有6种数据结构,分别是简单动态字符串(SDS),链表,字典,跳跃表,整数集合,压缩列表。每...

数据结构与算法基本概念

我们举一个可能不太恰当的例子:如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器。那么数据结构和算法是什么?答曰:兵法!我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利,可能也会付出巨大的代价。我们写程序亦然:没有看过数据结构和算法,有时面对问题可能会没有任...
代码星球 ·2020-11-26

排序算法与常见数据结构

排序:一、插入类排序 1、直接插入排序{49,38,65,97,76,13,27,_49}1)插4949    38,65,97,76,13,27,_492)插3838,49    65,97,76,13,27,_49以此类推。。...

数据结构队列、双端队列、队列系算法题解析

  队列这种数据结构,前端需要了解的队列结构主要有:双端队列、滑动窗口,它们都是算法中是比较常用的数据结构。一、数据结构:队列  队列和栈类似,不同的是队列是先进先出(FIFO)原则的有序集合,它的结构类似如下:  常见队列的操作有:enqueue(e) 进队、 dequeue() 出队、...

将列表生成式中[]改成() 之后数据结构是否改变?

答案:是,从列表变为生成器L=[x*xforxinrange(10)]print(L)#[0,1,4,9,16,25,36,49,64,81]g=(x*xforxinrange(10))print(g)#<generatorobject<genexpr>at0x02FA6F90> ...

一步一步学数据结构之1--1(队列--单链表实现--含队头尾指针)

        在前面,相信大家也已经感觉到,如果用单链表实现队列,不含队头队尾指针,每次入队操作都要遍历单链表,所以极不方便。那么在这里,就给大家介绍下含有队头队尾指针的队列(单链表实现)。    ...

一步一步学数据结构之1--1(队列--两个栈实现)

 单纯的用线性表或者单链表实现队列已经不足为奇,现在给大家介绍个有特色的,用两个栈实现队列。  如图    这里介绍队列的常用操作: l 创建队列l 销毁队列l 清空队列l 入队l 出队l&...

数据结构之后缀数组

以下内容来自《编程珠玑》第15章《珍珠字符串》下面介绍一个高效的数据结构,并将它应用在一个很小的问题上:给定一个输入文本文件,查找其中最长的重复子字符串。例如,Asknotwhatyourcompanycandoforyou,butwhatyoucandoforyourcompany?,其中最长的重复字符串为&rdqu...
代码星球 ·2020-10-21

go map数据结构和源码详解

目录1.前言2.gomap的数据结构2.1核心结体体2.2数据结构图3.gomap的常用操作3.1创建3.2插入或更新3.3删除3.4查找3.5range迭代3.5.1初始化迭代器mapiterinit()3.5.2迭代过程mapiternext()4.gomap的扩容缩容4.1扩容缩容的基本原理4.2为什么叫&ldq...

JavaScript数据结构——图的实现

  在计算机科学中,图是一种网络结构的抽象模型,它是一组由边连接的顶点组成。一个图G=(V,E)由以下元素组成:V:一组顶点E:一组边,连接V中的顶点  下图表示了一个图的结构:  在介绍如何用JavaScript实现图之前,我们先介绍一些和图相关的术语。  如上图所示,由一条边连接在一起的顶点称为相邻顶点,A和B是相...
代码星球 ·2020-09-24

JavaScript数据结构——树的实现

  在计算机科学中,树是一种十分重要的数据结构。树被描述为一种分层数据抽象模型,常用来描述数据间的层级关系和组织结构。树也是一种非顺序的数据结构。下图展示了树的定义:  在介绍如何用JavaScript实现树之前,我们先介绍一些和树相关的术语。  如上图所示,一棵完整的树包含一个位于树顶部的节点,称之为根节点(11),...
代码星球 ·2020-09-24

JavaScript数据结构——字典和散列表的实现

  在前一篇文章中,我们介绍了如何在JavaScript中实现集合。字典和集合的主要区别就在于,集合中数据是以[值,值]的形式保存的,我们只关心值本身;而在字典和散列表中数据是以[键,值]的形式保存的,键不能重复,我们不仅关心键,也关心键所对应的值。  我们也可以把字典称之为映射表。由于字典和集合很相似,我们可以在前一...

JavaScript数据结构——集合的实现与应用

  与数学中的集合概念类似,集合由一组无序的元素组成,且集合中的每个元素都是唯一存在的。可以回顾一下中学数学中集合的概念,我们这里所要定义的集合也具有空集(即集合的内容为空)、交集、并集、差集、子集的特性。  在ES6中,原生的Set类已经实现了集合的全部特性,稍后我们会介绍它的用法。  我们使用JavaSctipt的...

JavaScript数据结构——链表的实现与应用

  链表用来存储有序的元素集合,与数组不同,链表中的元素并非保存在连续的存储空间内,每个元素由一个存储元素本身的节点和一个指向下一个元素的指针构成。当要移动或删除元素时,只需要修改相应元素上的指针就可以了。对链表元素的操作要比对数组元素的操作效率更高。下面是链表数据结构的示意图:  要实现链表数据结构,关键在于保存he...
首页上一页...56789...下一页尾页