数据结构
文章平均质量分 70
xiongping_
这个作者很懒,什么都没留下…
展开
-
矩阵的快速转置
#include #include #define MAXSIZE 100 typedef struct { int i,j; int e; }Triple;typedef struct{ Triple data[MAXSIZE+1]; int mu,nu,tu; } Tsmatrix;int a,b; /*定义全局变量数组的行数a和列数b*/原创 2012-12-25 22:02:01 · 767 阅读 · 0 评论 -
TAILQ_QUEUE队列
代码实现如下:/* * Tail queue definitions. */#define TAILQ_HEAD(name, type) \struct name { \ struct type *tqh_first; /* first element */ \ struct type **tqh_last; /* addr of last next e原创 2015-10-14 15:05:59 · 478 阅读 · 0 评论 -
单向列表(single-linked lists)、单向尾队列(single-linked tail queue)、列表(lists)、尾队列(tail queues)
转载:https://www.freebsdchina.org/forum/viewtopic.php?t=37913queue和list是freebsd内核中很基础的数据结构,在内核代码的很多地方都用到,下面是小弟的一点心得,不对的地方希望大家指教,谢~~. queue和list的结构定义和操作都在'sys/queue.h'中完成,内容并不多,主要定义了下面四种数据结构: 单向列转载 2015-10-14 16:51:15 · 3364 阅读 · 0 评论 -
最小堆
最小堆:是指根节点的关键字值是堆中的最小关键字值,且每个节点若有儿子节点,其关键字值都不大于其儿子节点的关键字值最小堆的插入操作 步骤:把待增加的节点编号 i 设置为已知堆的总节点数加 1 即 i=++(*n),因此,新增的元素放在最下一层作为新的叶子节点。求出节点 i 的父节点 parent=i/2; 判断是否为空堆,并比较所插入元素与父节点关键字值的大小;若原创 2015-10-19 11:51:07 · 502 阅读 · 0 评论 -
资源池(数据库连接池,内存池,线程池)
资源池:当某一个资源使用完后,资源池把相关的资源的忙标示清除掉,以示该资源可以再被下一个请求使用。1.资源池引入的目的 提高性能2.资源池运作机制 由资源池管理器提供一定数目的目标资源,当有请求该资源时,资源池分配给一个,然后给该资源标识为忙, 标 示为忙的资源不能再被分配使用,3.资源池常有的参数 1.初始资源的数目:原创 2015-03-05 10:31:09 · 4931 阅读 · 0 评论 -
内存池
为什么要使用内存池技术呢? 主要有两个原因:1、减少new/malloc、delete/free次数,减少运行时间;2、避免内存碎片,避免开发人员忘记释放内存造成内存泄露连接:http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.htmlnginx内存池分析:http://blog.chinaunix.net/转载 2015-03-05 10:55:43 · 310 阅读 · 0 评论 -
线程池
线程池作用合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。Ja转载 2015-03-05 10:49:12 · 302 阅读 · 0 评论 -
位图法
定义 位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。在STL中有一个bitset容器,其实就是位图法,引用bitset介绍:A bitset is a special container class that is designed to store bits (ele转载 2015-02-12 17:42:46 · 839 阅读 · 0 评论 -
数据结构
最近处理业务逻辑很多用到了数据结构解决。感觉到以前学的东西都忘了怎么在实际中运用了所以总结下几个经典的数据结构;1.队列队列特性:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。队列有下面几个操作:InitQueue() ——初始化队列EnQueue() ——进队列DeQueue() ——出原创 2015-01-04 18:59:36 · 397 阅读 · 0 评论 -
递归的本质
递归 简单的来说递归就是一个函数直接或间接地调用自身,是为直接或间接递归。一般来说,递归需要有边界条件、递归前进段和递归返回段(其实就是进栈出栈的操作)。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。用递归需要注意以下两点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。递归一般用于解决三类问题: (1)数原创 2015-02-07 09:52:57 · 5771 阅读 · 0 评论 -
C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2015-01-26 15:11:00 · 290 阅读 · 0 评论 -
海量数据处理算法bloom filter
转载:http://blog.csdn.net/hguisu/article/details/78661731. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个转载 2015-11-18 11:19:01 · 443 阅读 · 0 评论