RFC4684-Base16, Base32, 和 Base64 数据编码-中文翻译

Base16, Base32, 和 Base64 数据编码 本备忘录的状态 这个文档规定了互联网协会的一个互联网标准跟踪协议,并且要求讨论并提出修改意见。有关这个协议的标准化情况和状态,请参考最新版本的“互联网官方协议标准”(STD1)。本备忘录的分发是不受限制的。 版本公告 Copyright ©...

阅读更多

红黑树及其C语言实现

红黑树及其性质 红黑树是一棵二叉搜索树,它在每个节点上存储了一位来表示结点的颜色,然后通过每个结点到叶子结点的颜色数目来约束以达到自平衡。它必须满足以下性质: 每个结点要不是红色,要不是黑色。 根结点是黑色。 叶子结点是黑色。(这里的叶子结点指的是T.Nil) 如果一个结点是红色的,那么它的...

阅读更多

Nginx源码分析-数据结构之数组array

Nginx 数组数据结构定义为 ngx_array_t,与链表的定义有些类似,数组内存也是基于 nginx 的内存池进行分配的,其操作也与内存池紧密关联。 数组数据结构 ngx_array_t 定义 //array结构体定义 typedef struct { void *elts; ...

阅读更多

Nginx源码分析-数据结构之链表list

Nginx 链表数据结构定义为 ngx_list_t,链表内存是基于 nginx 的内存池进行分配的,其操作也与内存池紧密关联。 链表数据结构 ngx_list_t 定义 typedef struct ngx_list_part_s ngx_list_part_t; //链表元素部分结构体 struct...

阅读更多

Nginx源码分析-数据结构之内存池

Nginx内存管理相关文件主要有: ngx_alloc.h, ngx_alloc.c 这两个文件封装了内存相关的基本操作,包括 ngx_alloc, ngx_calloc, ngx_memalign 等。 ngx_palloc.h, ngx_palloc.c 这两个文件主要是nginx内存池的操作,包括...

阅读更多

排序算法之-基数排序

基数排序就是把原列表中的数按位数分割成不同的数字,然后从比较各位的大小来进行排序的方法。基数排序是桶排序的一种。 基数排序有两种排序方式,最低位优先法 LSD (Least significant digital) 和最高位优先法 MSD (Most significant digital),LSD 从最低位到...

阅读更多

排序算法之-桶排序

桶排序就是将列表中的元素拆分成多个桶,然后将处于同一值域的元素放到同一个桶中。每个桶中的元素可通过插入排序、选择排序、冒泡排序或桶排序等各种排序方法再进行排序,使桶中的元素达到有序的效果。然后按顺序将桶中的元素还原,使整个列表达到有序。 算法步骤 根据待排序列表的最大值和最小值确定桶个数及每个桶的存储范...

阅读更多

排序算法之-计数排序

计数排序适用于取值在一定范围内的列表,例如取值范围在 0-k,可以建立一个数组,数组下标代表列表中值有大小,数组值代表该值在列表中出现的次数。先遍历原列表,列表中值出现一次,则对应数组下标的值加一,遍历完列表后对数组进行遍历,根据数组下标和值一一还原队列,还原完原列表达到有序。 算法步骤 创建计数数组。...

阅读更多