数据结构 -- 22




1 2 3

200x200


概述组合模式是将对象组合成树形结构,来表示“部分-整体”的层次结构,它使得用户对单个和组合对象的使用具有一致性很多情况下,用户可以使用多个简单的组件组合成更大的组件,而这些简单的组件中,某个组件可能出

#读书笔记    #技术帖    #数据结构    #龙潭书斋   

200x200


概述上一篇日志中,我们介绍了 java 基本容器中的序列容器,他们都实现了 Collection 接口Collection 及其相关实现的容器简介及用法本篇日志

#技术帖    #数据结构    #龙潭书斋    #java   

200x200


概述哈希表又称散列表,在一些合理假设下,对任意元素的检索、插入时间复杂度的期望时间都是 O(1),因此他非常适合频繁读取、插入、删除元素的应用场景而 nginx 作为一个

#技术帖    #linux    #web    #算法   

200x200


概述B树是为磁盘或其他直接辅助互存储设备而设计的一种平衡查找树,可以有效降低磁盘IO操作次数B树的分支因子可能很大,即一个节点可能有几个甚至几千个子女,因此B树的高度就会很小下图给出一个简单的B树,如

#读书笔记    #技术帖    #算法    #算法导论   

200x200


概述单链表是一个较为简单的数据结构,对插入、删除节点具有较高的灵活性nginx 对该数据结构进行了一层封装 单链表结构// typedef struct ngx_list_t //

#技术帖    #linux    #unix    #算法   
概述数组是 C 语言中最常用的数据类型之一,它使用整块内存,按固定大小分割,所以很容易定位到指定序号的元素,因此,在所有容器中,数组的随机访问速度是最快的但是 C 语言的数组是不能动态扩展的,所以 nginx 对他进行了一个封装,成为了类似于 C++ STL 中 vector 的数据类型具有以下优点:访问速度快元素个数不确定,并可以动态扩充内存池统一管理内存 nginx 动态数组相关的声明和定义分别在:ngx_array.h 和 ngx_array.c 两个文件中 动态数组结构 -- ngx_array_t// struct ngx_array_t // nginx 数组结构 {{{ typedef struct { void *elts; // 数组起始位置 ngx_uint_t nelts; // 数组元素个数 size_t size; // 单个元素大小 ngx_uint_t nalloc; // 空间能够容纳元素个数 ngx_pool_t *pool; // 内存池 } ngx_array_t; // }
#技术帖    #算法    #c++    #cpp   

200x200


概述nginx 实现了六个基本容器,分别是:循环双向链表 -- ngx_queue_t动态数组 -- ngx_array_t单向链表 --&

#技术帖    #算法    #数据结构    #struct   

200x200


概述nginx 是通过资源集中管理的方式管理资源的,即打开所有即将要用的资源,以备随时取用,无论是文件还是内存这样做的好处是避免了每次创建、打开资源造成的性能消耗因此,便有了内存池模块,用来

#技术帖    #操作系统    #数据结构    #struct   

200x200


简介我们知道,对于一棵高度为h的二叉查找树上的各种基本操作而言,其时间复杂度都是O(h)的,因此,怎样减小树的高度成为了降低时间复杂度的必要手段,因此,我们需要去找寻一种新的数据结构,让构造的二叉查找

#技术帖    #算法    #c++    #cpp   

200x200


〇、简介与斐波那契堆一样,是一种被称为可合并堆的数据结构如我们之前了解的,二叉堆在堆排序中的性能就很好:堆排序 但是,我们有的时候需要将两个二叉堆进行合并,这时的性能就不能让人满意了 一、二

#读书笔记    #技术帖    #算法    #算法导论   
1 2 3



京ICP备15018585号