数据结构
文章平均质量分 82
三江小渡
这个作者很懒,什么都没留下…
展开
-
哈希表基础学习
<br /><br /> 我们知道:哈希表是一个固定大小的数组,数组的每个元素是一个链表(单向或双向)的头指针。如果Key一样,则在一起,如果Key不一样,则不在一起。哈希表的查询是飞快的。因为它不需要从头搜索,它利用Key的“哈希算法”直接定位,查找非常快,各种数据库中的数据结构基本都是它。但带来的问题是,哈希表的尺寸、哈希算法。<br /> 哈希表的数组是定长的,如果太大,则浪费,如果太小,体现不出效率。合适的数组大小是哈希表的性能的关键。哈希表的尺寸最好是一个质数,最小的质转载 2011-03-16 17:13:00 · 1197 阅读 · 0 评论 -
NYOJ129 树的判定 || POJ1308 Is It A Tree? 【并查集应用,树的定义】
<br />http://acm.nyist.net/JudgeOnline/problem.php?pid=129<br />一个有向图入度为1的节点仅有一个,并且无环,则是一颗树。<br />#include<cstdio>#include <cstring>using namespace std;const int MAXSIZE = 10002; int pre[MAXSIZE]; //根节点i,pre[i] = -num,其中num是该树的节点数目; //非根节点j,pre原创 2011-04-06 22:18:00 · 608 阅读 · 0 评论 -
POJ 2492 A Bug's Life [数据结构-并查集 union-find sets]
不懂请看食物链:http://blog.csdn.net/hzyhouzhiyuan/archive/2011/03/23/6272253.aspx#include#include using namespace std;#define MAXSIZE 50005int relations[MAXSIZE];int parent[MAXSIZE]; // 根节点int FindSet(int x){// 查找+递归的路径压缩 if( x != parent[x] ) {原创 2011-03-28 16:09:00 · 926 阅读 · 0 评论 -
POJ 1182 食物链 [数据结构-并查集 union-find sets]
估计再也没有比这个报告更清晰的了,本着便于学习理解,所以就转过来了,自己书写代码加深印象。转自:http://apps.hi.baidu.com/share/detail/16059767-------------------------------------------2011-03-23 输入:动物个数n以及k句话,接着输入k行,每一行形式为:d x y, 在输入时可以先判断题目所说的条件2和3,即: 1>若(x>n||y>n):即当前的话中x或y比n大,则假话数目num加1.原创 2011-03-23 20:31:00 · 1662 阅读 · 0 评论 -
POJ 1703 Find them, Catch them [数据结构-并查集 union-find sets]
<br />十分类似POJ2492 a bug‘s life,稍微修改一下即可提交。2492见http://blog.csdn.net/hzyhouzhiyuan/archive/2011/03/28/6283849.aspx<br />#include<cstdio> #include <cstring> using namespace std; #define MAXSIZE 100005 int relations[MAXSIZE]; int parent[MAXSIZE原创 2011-03-28 22:46:00 · 419 阅读 · 0 评论 -
POJ 1861 Network [最小生成树算法MST-kruskal 数据结构-并查集 union-find sets]
跟这个prim算法最小生成树http://blog.csdn.net/hzyhouzhiyuan/archive/2011/01/23/6159382.aspx,两个算法,邻接矩阵存图时,prim适用于稠密图,kruskal适于用稀疏图。代码还是比较清晰明了的,不再赘述了……#include #include #includeusing namespace std;const int MAXSIZE = 1050; int rank[MAXSIZE]; // 节点高度的上界原创 2011-03-28 17:31:00 · 856 阅读 · 0 评论 -
POJ1611 The Suspects [ 数据结构-并查集 union-find sets]
水题毫无压力,不解释。简单理解下并查集流程。#include using namespace std;const int MAXSIZE = 30001;int pre[MAXSIZE]; //根节点i,pre[i] = -num,其中num是该树的节点数目;//非根节点j,pre[j] = k,其中k是j的父节点int Find(int x){//查找+非递归的路径压缩 int p = x; while( pre[p] > 0 ) p = pre[p]; while(原创 2011-03-23 16:32:00 · 453 阅读 · 0 评论 -
STL hash_map使用
<br /><br />今天在使用STL中的hash_map模板遇到使用PTCHAR作为Key时无法对字符串进行正确比较的问题,在网上查找相应的文章可惜没有找到,但找到了http://www.stlchina.org/twiki/bin/view.pl/Main/STLDetailHashMap和http://www.cppblog.com/guojingjia2006/archive/2008/01/12/41037.aspx两篇文章对解决我的问题帮了大忙,特将其内容贴出。<br />hash_map类在转载 2011-03-22 23:05:00 · 410 阅读 · 0 评论 -
海量数据处理专题(转)【算法、数据结构】
<br />大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。<br /> 本贴从解决这类问题的方法入手,开辟一系列专题来解决海量数据问题。拟包含 以下几个方面。 Bloom F原创 2011-03-23 15:20:00 · 717 阅读 · 0 评论 -
并查集模板
来自Lifeng Wang http://hi.baidu.com/fandywang_jlu前辈06年写的东西,追随前人足迹继续努力。//Abstract: UFSet //Author:Lifeng Wang (Fandywang)// Model One 与Model 2 路径压缩方式不同,合并标准不同const int MAXSIZE = 500010;int rank[MAXSIZE]; // 节点高度的上界int parent[MAXSI原创 2011-03-23 15:54:00 · 968 阅读 · 0 评论 -
POJ3349 Snowflake Snow Snowflakes 自己写个哈希模板
http://acm.nyist.net/JudgeOnline/problem.php?pid=130很悲剧,只能说悲剧,花了一个下午思考一个模板,想着能经常用来着,结果第一次用POJ上一直TLE。。。汗死。最重要的是自己机器上测试十万组数据十分的快,只有0.7秒左右。。。然后就在NYOJ上提交,过了……这就浪费1天时间,悲剧。如果有幸有高人看到,一定请指正#include #include #include using namespace std;#define hashPrime 14原创 2011-03-18 12:31:00 · 542 阅读 · 0 评论 -
【POJ2528】Mayor's posters ||【NYOJ9】 (线段树)
<br />北大poj这题测试数据有错,离散化错误,请到这里提交http://acm.nyist.net/JudgeOnline/problem.php?pid=9测试你的程序。<br /> <br />代码注释比较详细,不再赘述<br /> /*为大家方便明白,注释比较多。该题可学会线段树简单用法,学会数据的离散化,还是一个不错的题。*/#include<iostream>#include<algorithm>using namespace std;#define maxnum 20005原创 2011-04-12 09:27:00 · 539 阅读 · 0 评论