代码改变世界

随机数生成 :转http://conflict.diandian.com/post/2013-02-28/40049884387

2014-04-21 02:05 by crazyxiazi, 273 阅读, 0 推荐, 收藏,
摘要:其实 一个很有用的原则 那就是 进制 在我们平时的编程中,系统都会给我们提供随机数生成器rand(),它可以产生我们限定范围内的一个随机数,而在一些面试题中往往会让我们通过限定的随机生成器去构造更完善的,这里面是有技巧的,下面通过两个面试题来说明一下:1. 已知一个随机数发生器A,产生0的概率是... 阅读全文

压缩算法

2014-04-21 02:03 by crazyxiazi, 126 阅读, 0 推荐, 收藏,
摘要:1.huffman 不解释2.一种新的 算法LZW http://www.chinasb.org/archives/2010/12/1248.shtml具体步骤:①打开一个待压缩文件与存放压缩后的文件②读入一个字节作为后缀,此字节为当前词 若当前词存在,将当前次改为编码,进入2. 若当前次不存在... 阅读全文

一些STL 算法实现

2014-04-21 01:39 by crazyxiazi, 227 阅读, 0 推荐, 收藏,
摘要:1.随机洗牌保证每一个牌随机到任意位置的概率为1/nfor int i = n do swap(A[i],A[random(i,n)]);一共的排列有n!种,如何证明其概率是 n!呢,有一种方式是这样的第一次的概率是n第二次是n-1第三次是n-2故概率是n!。这个比较好理解,但是感觉不太能证明的感觉... 阅读全文

c++ 函数入栈 顺序 转http://www.cnblogs.com/Atela/archive/2011/04/13/2015010.html

2014-04-14 16:55 by crazyxiazi, 245 阅读, 0 推荐, 收藏,
摘要:在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、... 阅读全文

effective c++ 读书笔记

2014-04-14 16:37 by crazyxiazi, 145 阅读, 0 推荐, 收藏,
摘要:item 12:复制对象时不要忘记复制每一部分。主要针对的就是copy assignment = 操作符。在默认的情况下,对每一个对象,不管是基类还是父类,都会构建一个复制其每一个成员的默认 赋值操作函数。这其中就有浅拷贝的问题。所以我们会自己写一个赋值操作函数。但是,我们写了基类的赋值操作函数 之... 阅读全文

学习MIT6.837光线追踪总结

2012-09-16 13:31 by crazyxiazi, 918 阅读, 0 推荐, 收藏,
摘要:光线跟踪是指从观察者的视点出发(两种不同的观察方式就是透视相机和正交相机),投射光线,得到所观察的点在3维场景中的位置。这个点的颜色则是由很多因素决定的,例如:1)这个点与光源的是否直接相连(阴影),如果和光源之间没有物体的遮挡的话,则光源对物体的最终颜色有贡献;2)这个点的材质。如果具有反射,折射的特性,则从其他点反射或折射的光线也会对最终颜色形成影响;但是在课程中实现的方式即单纯计算场景中某一点与光源之间是否有物体并不能正确处理阴影,因为遮挡所得的物体可能是透明的,在这种情况下光源任旧产生作用。如果使用单独的函数来判断遮挡物体是否透明,然后将这些物体的transparentcolor与光源 阅读全文