自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 红黑树

http://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91

2014-10-31 20:39:53 462

转载 C++11 lambda 表达式解析

C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。本文作为 5 月的最后一篇博客,将介绍 C++11 的 lambda 表达式。很多语言都提供了 lambda 表达式,如 Python,Java 8。lambda 表达式可以方便地构造匿名函数,如果你的代码里面存在大量的小函数,而这些函数一般只被调用一

2014-10-30 10:34:41 279

转载 C++ 下 Function 对象的实现

点击打开链接

2014-10-30 09:36:47 688

转载 time33 hash算法

php, apache, perl, bsddb都使用time33哈希.最简单的版本    uint32_t time33(char const *str, int len)     {         unsigned long  hash = 0;         for (int i = 0; i             hash = hash *33 +

2014-10-29 10:00:49 574

转载 deque的内部布局

deque是双端队列,在队列头部和尾部可以快速的进行元素的插入和删除操作,相比vector而言有一定的优势,同时由于内部构造的设计,不存在vector那样扩充时带来的“配置新空间 / 移动旧数据 / 释放旧空间”问题。deque还提供Random Access Iterator,可以随机访问容器内的元素。deque同时还是STL中queue和stack的底层依赖组件。1. deque结构设

2014-10-29 09:28:16 760

转载 深入理解按位异或运算符

参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:   0^0 = 0,       1^0 = 1,       0^1 = 1,       1^1 = 0按位异或的3个特点:(1) 0^0=0,0^1=1  0异或任何数=任何数(2) 1^0=1,1^1=0  1异或任何数-任何数取反(3) 任何数异或自己=把自己置0按位异或的几个

2014-10-28 20:34:59 416

转载 打造最快hash算法

暴雪公司有个经典的字符串的hash公式  先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?  有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但也只能如此了。  

2014-10-28 20:23:38 775

转载 取模运算和求余运算的区别

通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。对于整型数a,b来说,取模运算或者求余运算的方法都是:1.求 整数商: c = a/b;2.计算模或者余数: r = a - c*b.

2014-10-28 15:40:12 6181 1

转载 贪心算法介绍

贪心算法思想:顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。贪心算法

2014-10-28 15:02:31 481

原创 整形类型存储机制

在C/C++中,有符合整形类型按补码存储,无符号类型整形按源码存储

2014-10-22 10:20:53 410

转载 几种排序算法复杂度的比较

几种排序算法的比较:排序方法平均情况最好情况最坏情况辅助空间稳定性直接插入O(n^2)O(n)O(n^2)O(1)是希尔O(nlogn)~O(n^2)O(n^1.3)

2014-10-21 20:24:40 498

转载 __cdecl __fastcall, __stdcall,__thiscall

__cdecl __fastcall, __stdcall,__thiscall它们都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序2)由调用者还是被调用者把参数弹出栈3)产生函数修饰名的方法首先,为什么要有这么多种调用约定?函数调用时需要用到栈。当函数调用完成后,栈需要清除,这里就是问题的关键,如何清除?如果我们的函数使用了

2014-10-21 20:23:19 417

转载 c++类模板与函数模板的偏特化

(1) 类模板的偏特化例如c++标准库中的类vector的定义template class vector { // … // };template class vector { //…//};这个偏特化的例子中,一个参数被绑定到bool类型,而另一个参数仍未绑定需要由用户指定。(2) 函数模板的偏特化     严格的来说,函数模板并不支持偏特化,但由于可以对函数进行

2014-10-19 14:17:11 1411

转载 自己实现popen函数

闲来无事,自己实现了popen函数mypopen,后来查看了popen函数的源码发现自己实现的与其相差无几,本函数与linux中的实现最大的不同是不需要用专门的pclose()函数来关闭文件指针,用普通的fclose()即可,linux实现的代码也会给出在下文,可以对比一下其中差异。    主要通过pipe管道实现,具体思路如下:        1、使用pipe()建立管道

2014-10-17 16:28:25 1040

转载 float精度分析

最近一段时间看到版上关于 C++ 里浮点变量精度的讨论比较多,那么我就给对这个问题有疑惑的人详细的讲解一下 intel 的处理器上是如何处理浮点数的。为了能更方便的讲解,我在这里只以 float 型为例,从存储结构和算法上来讲, double 和 float 是一样的,不一样的地方仅仅是 float 是 32 位的, double 是 64 位的,所以 double 能存储更高的精度。还要说的一点

2014-10-15 09:32:50 485

转载 数据结构之二叉树(遍历、建立、深度)

1、二叉树的深度遍历        二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树的所有结点,使得每个结点被访问一次且仅被访问一次。         对于二叉树的深度遍历,有前序遍历二叉树、中序遍历二叉树、后序遍历二叉树三种形式,下面分别进行学习和介绍。1.1 二叉树的前序遍历        1)前序递归遍历        规则是若

2014-10-14 13:11:38 376

转载 从头到尾彻底理解KMP

作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言    本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱,如此,留言也是“骂声”一片。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本文。 

2014-10-11 12:41:17 451

C++11 标准

C++11 标准

2016-02-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除