(一)前言: 考研时间不多了,一些算法就算当时看懂了记住了,之后以往的速度还是很快。决定以后每次懂了之后,回寝室后用代码给实现下,顺便记录下自己的思路,也便于之后自己遗忘的时候拿出来温习。 (二)思路: 我的理解吧,折半…
标签:数据结构
ES6之Promise 与 Node.js 8新特性之util.promisify()
2017年五月底Node.js 8正式发布,带来了 很多新特性 。本文讨论下util.promisify()这个方法。 Promise 介绍promisify之前,首先来看下Promise这个API,因为util.pro…
考研数据结构笔记——2.顺序表
顺序表 假定线性表的元素类型为ElemType,线性表的存储类型描述为 #define MaxSize 50 //定义线性表的最大长度 typedef struct{ ElemType data[MaxSize]; //…
一致性hash
一致性Hash的应用场景 我们先假设一种场景,有一个应用的请求量非常大,在服务端有若干台缓存服务器,这些缓存服务器记录了各用户请求的缓存数据(当然这样做的目的我想大家应该清楚)。怎样将这么多的请求按照一定的规则分发到不同…
数据结构三要素——逻辑结构和物理结构与数据运算之间的关系
数据结构的三要素是:逻辑结构,物理结构,数据的运算。 逻辑结构: 分为线性结构个非线性结构。 线性结构就是有一一对应的关系的,如A-B-C,这三个字母就符合线性结构。 非线性结构就是集合,树,图。集合就是一些元素共同归位…
Go语言数据结构和算法-使用Slice实现栈
Go语言数据结构和算法-使用Slice实现栈 栈是Last-In-First-Out (LIFO)(后进先出)的数据结构,对应的接口如下: New() //初始化栈 Push() // 压栈 Pop() // 出栈,返回…
十面阿里,屌丝逆袭阿里之路
虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业…
golang 性能优化之 bitset 代替 hashset
hashset 是一种非常高效的数据结构,插入和查询的复杂度都是 O(1),基本上能满足大部分场景的性能需求,但在一些特殊的场景下,频次非常高的调用依然会成为性能瓶颈(用 pprof 分析),比如广告里面的定向逻辑,在一…
数据结构学习(三) 顺序存储和链式存储
一、顺序存储结构(也可称为顺序表) 顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。 顺序表的特点是逻辑上相邻的数据元素,物理…
BZOJ-3473: 字符串(Suffix Array+Binary Search)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3473 后缀数组。然后我这个傻叉没YY出O(n log n)的做法,只能手残了一个枚举每一个后缀,然后二分查找该后缀…
设计模式笔记(4)--建造者模式
建造者模式 GOF对建造者模式的定义是:“将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.” public abstract class Builder { public abstract vo…
数据结构基础-栈和队列
栈的理论描述 栈是一个有序线性表,只能在表的一端(成为栈顶,top)执行插入和删除操作。最后插入的元素将第一个被删除。所以栈也称为后进先出(Last In First Out)或先进后出(First In Last Ou…