C++ pb_ds库之hash
2018-06-17 22:15:43来源:未知 阅读 ()
pb_ds库之hash
最近在做hash的模板题,自己手打的的hash代码长还容易出错。
但STL中有一个pb_ds库,里面的hash函数和手打的hash速度差不多,比STL中的map快多了。
与大家分享一下,不足之处还请各位神犇指出和补充。
本文只是简略地介绍此函数在hash中的应用,若想深入研究,这里有一个:C++的pb-ds库在OI中的应用
网址:https://wenku.baidu.com/view/ffc18b542f60ddccdb38a00d.html?pn=NaN
pb_ds库hash函数需要调用的的头文件:
#include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/hash_policy.hpp> using namespace __gnu_pbds;
函数声明方式:
cc_hash_table<int,bool>h; gp_hash_table<int,bool>h;
其中所定义的两种数据类型不局限于<int,bool>,<string,bool>,<string,int>都可以。
cc_hash_table是拉链法
gp_hash_table是查探法
查探法要快一些,个人推荐用查探法。
补充:
pb_ds库中的两种hash函数比map的效率大大提高,比起手打hash代码简洁且易于调试。
个人觉得如果追求速度的话个人觉得还是手打hash快一点。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash