一颗红黑树是满足下面红黑性质的二叉搜索树 ①每个结点或是红的,或是黑的。 ②根结点是黑的 ③每个叶结点(NIL)是黑的 ④如果一个结点是红色的,则它的两个子结点是黑色的。 ⑤对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。 插入时总是要考虑它的叔叔,删除时总要考虑它的兄 ...
分类:
其他好文 时间:
2020-02-06 23:23:32
阅读次数:
80
nil 标识符是不能比较的 package main import "fmt" func main() { fmt.Println(nil == nil) } .\nil.go:6:18: invalid operation: nil == nil (operator == not defined ...
分类:
编程语言 时间:
2020-02-04 18:41:08
阅读次数:
87
我的博客:https://www.luozhiyun.com/archives/215 context.Context类型 Context类型可以提供一类代表上下文的值。此类值是并发安全的,也就是说它可以被传播给多个 goroutine。 Context类型的值(以下简称Context值)是可以繁衍 ...
分类:
编程语言 时间:
2020-02-03 19:24:32
阅读次数:
89
上两篇我们讲了hash和list数据类型相关的主要实现方法,同时加上前面对框架服务和string相关的功能介绍,已揭开了大部分redis的实用面纱。 现在还剩下两种数据类型: set, zset. 本篇咱们继续来看redis中的数据类型的实现: set 相关操作实现。 研究过jdk的hashmap和 ...
分类:
其他好文 时间:
2020-02-01 10:42:36
阅读次数:
60
1. map的创建和使用 package main import "fmt" func main() { /* map:映射,是一种专门用于存储键值对的集合。属于引用类型 存储特点: A:存储的是无序的键值对 B:键不能重复,并且和value值一一对应的。 map中的key不能重复,如果重复,那么新 ...
分类:
其他好文 时间:
2020-02-01 10:33:51
阅读次数:
53
数组元素一定是从1开始的,顺序递增且不包含元素nil。只有这种情况才能正确的计算个数 数组与HASH并存,数组索引从1开始顺序递增,且值不能未Nil local a1 = { 1, 2, 3 } local a2 = { [1]=1, [3]=2, [5]=3, [7]=4 } local a3 = ...
分类:
编程语言 时间:
2020-01-30 21:23:43
阅读次数:
106
数据操作 redis是key-value的数据,所以每个数据都是一个键值对 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合set 有序集合zset 数据操作的全部命令,可以查看中文网站 接下来逐个介绍操作各类型的命令 数据库一共有16个,分别是0到15 切 ...
分类:
其他好文 时间:
2020-01-30 10:08:03
阅读次数:
69
package main import ( "fmt" "reflect" ) //定义了一个Monster结构体 type Monster struct { Name string `json:"name"` Age int `json:"monster_age"` Score float32 ` ...
分类:
其他好文 时间:
2020-01-28 09:34:39
阅读次数:
61
Redis系列 存储篇hash主要操作函数小结 hash是一些列key value(field value)的映射表。常常用其存储一些对象实例。相对于把一个对象的各个字段存储为string,存储为hash会占用更少的内存。为什么会更省内存呢?需要搞清楚两个配置(hash max zipmap ent ...
分类:
其他好文 时间:
2020-01-27 22:06:33
阅读次数:
55
学习过2 3树之后就知道应怎样去理解红黑树了,如果直接看「算法导论」里的红黑树的性质,是看不出所以然。我们也看看一颗二分搜索树满足红黑的性质: 1.每个节点或是红色的,或是黑色的; 2.根节点是黑色的; 3.每个叶子节点(NIL)是黑色的; 4.如果一个节点是红色的,则它的两个子节点都是黑色的; 5 ...
分类:
其他好文 时间:
2020-01-26 16:04:47
阅读次数:
92