内容摘自:数据结构与算法之美 链表 链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。 单链表 链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的“结点”。 为了将所有的结点串起来,每个链表的结点不仅要存储数据,还需要记录下一个结点的地址。我们将这个记 ...
分类:
其他好文 时间:
2021-03-08 13:20:35
阅读次数:
0
HashMap简介 哈希表(hash table) 也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,这种数据结构提供了键(key)和值(value)的映射关系,时间复杂度接近于O(1)。HashMap 就是一个哈 ...
分类:
其他好文 时间:
2021-03-08 13:10:59
阅读次数:
0
(Java8简介) 写在前面 之所以现在才开这个专栏,是因为之前学过,平时工作中也在用,但是总觉得用着不那么顺手,所以决定再来学一遍,然后记录下来,方便回顾。 Java8新特性简介 速度更快 更新了底层的数据结构 底层数据结构最核心的就是HashMap,下面以HashMap为例来说明: java7底 ...
分类:
编程语言 时间:
2021-03-06 15:09:37
阅读次数:
0
写在前面 仅供自用 ... Iterable 接口 在我的理解里面,如果数据结构实现了 Iterable 接口 那么 这个数据结构就是可迭代对象 当然实现这个的方法 就是 写一个迭代器工厂函数 [Symbol.iterator] 来生成一个含有 next(){} 和 return(){} 两个属性方 ...
分类:
编程语言 时间:
2021-03-06 14:36:01
阅读次数:
0
1.5 堆排序 ? 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 核心思路: 1、depth := length/2 - 1 //节点深度,n,2n+1,2n+2 2、 ...
分类:
编程语言 时间:
2021-03-05 13:28:37
阅读次数:
0
1、String 这是最简单的Redis类型。如果只使用这种类型,Redis就像一个可持久化的Memcached服务器。 2、List Redis的List是基于双向链表实现的,可以支持反向查找和遍历。 常用案例:聊天系统、社交网络中获取用户最新发表的帖子、简单的消息队列、新闻的分页列表、博客的评论 ...
分类:
其他好文 时间:
2021-03-03 12:25:49
阅读次数:
0
这是你没见过的不一样的redis 提到Redis,大家一定会想到的几个点是什么呢?高并发,KV存储,内存数据库,丰富的数据结构,单线程(6版本之前)那么,接下来,上面提到的这些,都会一一给大家解答,带大家领略一下Redis的魅力,文章会比较长,部分废话,请大家跳过,谢谢!~欢迎进群973961276 ...
分类:
其他好文 时间:
2021-03-02 12:17:02
阅读次数:
0
一 布隆过滤器简介 bloomfilter:是一个通过多哈希函数映射到一张表的数据结构,能够快速的判断一个元素在一个集合内是否存在,具有很好的空间和时间效率。(典型例子,爬虫url去重) 原理: BloomFilter 会开辟一个m位的bitArray(位数组),开始所有数据全部置 0 。当一个元素 ...
分类:
其他好文 时间:
2021-03-01 13:19:00
阅读次数:
0
虚树 [SDOI2011]消耗战 板题,基本上是对着网上的板子敲的 #include <bits/stdc++.h> using namespace std; inline int read() { int out = 0; register char cc = getchar(); while ( ...
分类:
其他好文 时间:
2021-03-01 12:59:52
阅读次数:
0
1.什么是栈 栈是 OI 中常用的一种线性数据结构,栈的修改是按照后进先出的原则进行的,因此栈通常被称为是后进先出(last in first out)表,简称 LIFO 表。 2.基本操作 1.初始化 2.判空 3.求栈中实际元素个数 4.进栈 5.出栈 6.取栈顶元素 此处只给出了其中三步骤 3 ...
分类:
其他好文 时间:
2021-03-01 12:51:40
阅读次数:
0