随笔 - 390,  文章 - 34,  评论 - 62,  阅读 - 139万
08 2012 档案
各种位运算
摘要:各种位运算位运算的操作数必须是整数,当二元位运算的操作数是不同类型的整数时,也会自动进行类型转换。n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子: n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000 可以看到原本最低位为1的那位变为0。 弄明白了n&(n-1)的作用,那它有哪些应用? 1. 求某一个数的二进制表示中1的个数 while (n >0 ) { count ++; n &= (n-1); }2. 判断一个数是否是2的方幂 n > 0 && ((n 阅读全文
posted @ 2012-08-31 14:04 可笑痴狂 阅读(5014) 评论(1) 推荐(0) 编辑
标准模板库(STL)学习指南之List链表
摘要:标准模板库(STL)学习指南之List链表本文转载自天极网,原文地址:http://www.yesky.com/255/1910755.shtml.转载请注明什么是STL呢?STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。 STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外 阅读全文
posted @ 2012-08-24 13:56 可笑痴狂 阅读(2025) 评论(0) 推荐(0) 编辑
标准模板库(STL)学习指南之map映射
摘要:标准模板库(STL)学习指南之map映射转载自CSDN博客:http://blog.csdn.net/bat603/article/details/1456141Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数 阅读全文
posted @ 2012-08-24 13:55 可笑痴狂 阅读(176) 评论(0) 推荐(0) 编辑
标准模板库(STL)学习指南之priority_queue优先队列
摘要:标准模板库(STL)学习指南之priority_queue优先队列转载自CSDN博客:http://blog.csdn.net/suwei19870312/article/details/5294016priority_queue 调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue 用法相似的 priority_queue, 以加深对 priority_queue 的理解view plain#include<iostream& 阅读全文
posted @ 2012-08-24 13:53 可笑痴狂 阅读(957) 评论(0) 推荐(0) 编辑
标准模板库(STL)学习指南之sort排序
摘要:标准模板库(STL)学习指南之sort排序转自:http://www.cnblogs.com/ACShiryu/archive/2011/07/20/2111268.html对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去考虑其算法原理,也不用再去验证其准确性。不过,等你开始应用计算机语言来工作的时候,你会发现,面对不同的需求你需要一次又一次去用代码重复实现这些已经成熟的算法,而且会一次又一次陷入一些由于自己疏忽而产生的bug中。这时,你想找 阅读全文
posted @ 2012-08-24 13:51 可笑痴狂 阅读(315) 评论(0) 推荐(0) 编辑
标准模板库(STL)学习指南之vector向量
摘要:标准模板库(STL)学习指南之vector向量转自:http://www.cnblogs.com/ACShiryu/archive/2011/07/20/2111275.htmlvector–一. vector可以模拟动态数组–二. vector的元素可以是任意类型T,但必须具备赋值和拷贝能力(具有public 拷贝构造函数和重载的赋值操作符) 三.必须包含的头文件#include <vector>– 四. vector支持随机存取– 五. vector的大小(size)和容量(capacity)通常是不同的,size返回实际元素个数, capacity返回vector能容... 阅读全文
posted @ 2012-08-24 13:50 可笑痴狂 阅读(206) 评论(0) 推荐(0) 编辑
标准模板库(STL)学习指南之set集合
摘要:转自:http://www.cnblogs.com/ACShiryu/archive/2011/07/20/2111339.htmlset是关联容器。其键值就是实值,实值就是键值,不可以有重复,所以我们不能通过set的迭代器来改变set的元素的值,set拥有和list相同的特性:当对他进行插入和删除操作的时候,操作之前的迭代器依然有效。当然删除了的那个就没效了。set的底层结构是RB-tree,所以是有序的。 stl中特别提供了一种针对set的操作的算法:交集set_intersection,并集set_union,差集set_difference。对称差集set_symeetric_diff 阅读全文
posted @ 2012-08-24 13:47 可笑痴狂 阅读(2349) 评论(0) 推荐(0) 编辑
KMP算法详解 转帖
摘要:KMP算法详解 转帖 分类: 算法 2008-12-03 22:44 8946人阅读 评论(31) 收藏 举报 个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊: KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可. 阅读全文
posted @ 2012-08-16 23:33 可笑痴狂 阅读(241) 评论(0) 推荐(0) 编辑
字符串hash函数比较
摘要:各种字符串Hash函数比较(转载)文章转摘自http://www.cmykrgb123.cn/blog/string-hash-compare/ 常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。 常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进行了一个小小的评测。 Hash函数数据1数据2数据3数据 阅读全文
posted @ 2012-08-13 21:03 可笑痴狂 阅读(1632) 评论(0) 推荐(0) 编辑
KMP 学习心得-----转
摘要:KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。这周的数据结构课讲的是串,本以为老师会讲解KMP算法的,谁知到他直接略过了...没办法只能自己研究,这一琢磨就是3天,期间我都有点怀疑自己的智商...不过还好昨天半夜终于想明白了个中缘由,总结一些我认为有助于理解的关键点好了...书上有的东西我就不说了,那些东西网上一搜一大片,我主要说一下我理解的由前缀函数生成的next数组的含义,先贴出求next数组的方法。1234567891011121314151617181920voi 阅读全文
posted @ 2012-08-13 13:21 可笑痴狂 阅读(292) 评论(0) 推荐(0) 编辑
初级线段树讲解---转
摘要:转载关于线段树的讲解好久没写过算法了,添一个吧,写一个线段树的入门知识,比较大众化。上次在湖大,其中的一道题数据很强,我试了好多种优化都TLE,相信只能用线段树才能过。回来之后暗暗又学了一次线段树,想想好像是第三次学了,像网络流一样每学一次都有新的体会。把问题简化一下:在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过;最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中;每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n)这道题m和n 阅读全文
posted @ 2012-08-08 20:26 可笑痴狂 阅读(677) 评论(0) 推荐(0) 编辑
POJ-2528 Mayor's posters (点树+离散) 线段树 ----------------------转
摘要:Mayor's postersTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 27702Accepted: 8001DescriptionThe citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council has fin 阅读全文
posted @ 2012-08-07 15:48 可笑痴狂 阅读(153) 评论(0) 推荐(0) 编辑


< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示