
Data structure
文章平均质量分 72
wangran51
这个作者很懒,什么都没留下…
展开
-
二叉排序树
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> struct tree_node {int data;struct tree_node *left_ptr;struct tree_node *right_ptr; }; void insert_n...2011-10-31 15:46:00 · 104 阅读 · 0 评论 -
哈希表冲突解决
上篇文章哈希查找因何快?我们使用它需要付出什么代价只是简单介绍了使用hash所带来的利与弊。并未涉及hash的技术细节,本文则着重学习一下如何解决哈希编址的冲突问题。 1)冲突是如何产生的? 上文中谈到,哈希函数是指如何对关键字进行编址的规则,这里的关键字的范围很广,可视为无限集,如何保证无限集的原数据在编址的时候不会出现重复呢?规则本身无法实现这个目的。举一个例子,仍然用班级同学做比喻,...2013-09-03 12:38:00 · 205 阅读 · 0 评论 -
Twitter的系统编程
http://monkey.org/~marius/talks/twittersystems/#1英文http://www.youkuaiyun.com/article/2012-11-21/2812033-Systems-Programming-at-Twitter/2【译文】2013-06-09 10:20:00 · 168 阅读 · 0 评论 -
C++ Map Source
/* * ===================================================================================== * * Filename: main.cpp * * Description: * * Version: 1.0 * Created: 2012年12月18日 13时29分04秒 * Revision: none ...2012-12-21 11:39:00 · 126 阅读 · 0 评论 -
C++ Map传递参数
map可以被看做是普通变量一样可以直接赋值,同时map也可以看做普通变量一样在函数间以值传递或者以指针传递方式传递。下面是一个小小的例子:#include <iostream> #include <map> #include <string.h> using namespace std;void translate(map<int,int&g...2012-12-20 17:29:00 · 2914 阅读 · 0 评论 -
C++ Map用法
/************************************************************************ * * Map的特点: 1、存储Key-value对 * 2、支持快速查找,查找的复杂度基本是Log(N) * 3、快速插入,快速删除,快速修改记 * /**********************************************...2012-12-20 17:14:00 · 122 阅读 · 0 评论 -
桶排序
桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。 例如要对大小为[1..1000...2013-05-20 15:17:00 · 100 阅读 · 0 评论 -
STL_Hash_map
在windows 和 linux下引入hash_set、hash_map头文件推荐使用方法:在源代码的前面写入一下代码: // just for "#include <hash_*>" in linux#if__GNUC__>2#include<ext/hash_set>#include<ext/hash_map>usingnamespace...2013-05-07 11:36:00 · 105 阅读 · 0 评论 -
cJsonFiles数据结构
先看json的数据结构c中没有对象,所以json数据是采用链表存储的view sourceprint?01.typedef struct cJSON {02.struct cJSON *next,*prev;<wbr><wbr><wbr>// 数组 对象数据中用到</wbr></wbr>&l...2013-04-27 17:21:00 · 175 阅读 · 0 评论 -
C++ STL Pair
Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。 pair<string, string> a("James...2013-04-26 11:22:00 · 171 阅读 · 0 评论 -
集合合并
百度面试题:将多个集合合并成没有交集的集合2010-03-20 18:25给定一个字符串的集合,格式如:{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh},{eee fff}, {ggg}。(1)请描述你解决这个问题...2013-04-23 16:42:00 · 284 阅读 · 0 评论 -
C++ STACK Queue
STL--stack/queue的使用方法 2010-01-05 17:36 stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现。 准确地说,STL中的stack和queue不同于vector、list等容器,而是对这些容器的重新包装。这里我们不去深入讨论STL的stack和queue的实现细节,而是来了解一...2013-04-22 20:47:00 · 84 阅读 · 0 评论 -
C++ Set常用用法
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。 构造set集合主要目的...2013-04-22 19:24:00 · 76 阅读 · 0 评论 -
哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算
最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题中一个考哈希表的题。Question1:将关键字序列(7、8、30、11、18、9、14)散列存储到散...2013-04-20 00:10:00 · 6074 阅读 · 6 评论 -
HashMap用法
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到...2013-04-07 16:14:00 · 107 阅读 · 0 评论 -
动态栈
/* * ===================================================================================== * * Filename: dynamic_stack.c * * Description: * * Version: 1.0 * Created: 2011年10月25日 16时53分20秒 * Revision:...2011-10-31 15:47:00 · 112 阅读 · 0 评论 -
哈希函数
简介哈希方法学哈希函数和素数位偏向各种形式的哈希常用的哈希函数各版本哈希代码下载 简介 哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量。一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision...2013-09-18 23:45:00 · 241 阅读 · 0 评论