2015-02-27 06:21
⁄ 工业·编程
⁄ 共 921字
一本《算法导论》看了七年,这曾是我自豪的,也是我现在困惑的。
我花了那么多时间在算法,可是无论是上课或是工作,考研或是面试,都看不到它的价值。
要说学它没用,又似乎每次面试都比较顺利,为什么呢?
为什么学了那么久的算法,却从未感觉它给我带来什么实际的价值?
其实,我从来没有真正学会过算法。
且不说算法的博大精深,千变万化。即使一本《算法导论》,也只是学习了其中几章中的几个基础算法,离学会还差得远。
...
感悟, 算法阅读全文
2014-09-06 22:12
⁄ 工业·编程
⁄ 共 5834字
今天同事向我询问图片压缩的算法,我想起大概两三年前做过的一个项目。其中包含了尺寸和质量两种压缩算法,并且支持JPEG、bmp、PNG等格式。今天把这段逻辑贴出来,供大家参考。
尺寸压缩
bool CompressImagePixel( const WCHAR* pszOriFilePath, const WCHAR* pszDestFilePah, UINT ulNewHeigth, UINT ulN...
GDI, 图片, 算法阅读全文
2014-04-04 06:17
⁄ 工业·编程
⁄ 共 6474字
文章目录
1 摘要
2 为什么需要OpenCL?
3 OpenCL架构
4 基于OpenCL的编程示例
5 总结
6 参考文献
1 摘要
由于晶体管功耗、物理性能的限制,CPU的发展受到了很大约束。 人们转而寻找其它方式来提高系统性能,如多核处理器,异构平台等。 开放式计算语言(OpenCL)的出现为当前大量存在的异构系统的并行计算提供了一个 标准。OpenCL通过一系列API的定义,提供硬件独立的编...
OpenCL, 算法, 软件开发阅读全文
2014-02-16 06:18
⁄ 工业·编程
⁄ 共 1603字
在过去,很多巧妙的计算机算法设计,改变了我们的计算技术。通过操作标准计算机中提供的中间运算符,可以产生很多的高效函数。这些函数导致了计算机程序的复杂性和多样性,这也是今天计算机时代快速发展的重要原因。如下所示,我们列举了一些算法,它们改变了我们的计算机使用。
哈弗曼编码
哈弗曼编码在无损数据压缩中广泛应用。为了找到一种最高效的二进制编码,哈弗曼在1951年提出了根据字符频率排序的二叉树这样的编码方法...
算法阅读全文
2013-12-30 21:28
⁄ 工业·编程
⁄ 共 1111字
CStringA CreateHex(int max) { CStringA precision; precision.Format("%x",max); int size = precision.GetLength(); int num_align = size%4; // 按多少位对齐 if(num_align <=4) ...
代码集锦, 算法阅读全文
2013-11-16 14:17
⁄ 工业·编程
⁄ 共 1908字
微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的短链接地址,当我们点击这6 个字母的链接后,我们又可以跳转到原始链接地址。
开始以为短链接是按照某种算法把原始链接压缩为短链接,再根据算法从短链接反算成原始链接的。后来尝试了下压缩算法(gzip 压缩算法),发现对于url 这种字符串越是压缩,长度就越长。通过对压缩算法的一些了解...
java, 微博, 短链接, 算法阅读全文
2013-07-13 19:46
⁄ 工业·编程
⁄ 共 776字
你要不同的10个数。你可以设个数组存储已经产生的数。比如已经产生了第一个数5,你用rand()生成了又一个5时,比较一下以产生的数发现是5,就跳过,看下一个。总能产生10个不同的随机数。
算法就是,每生成一个数就与原来生成的数比较,如果有相等的就就重新生成一个数,这样就能保证10个数都不相等了。下面这个程序生成数的范围是0到100:
#include <iostream>
#include <stdlib.h> &...
算法阅读全文
2013-07-13 19:45
⁄ 工业·编程
⁄ 共 1634字
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。) 我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某 个递推公式推算出来的一系...
算法阅读全文
2013-07-13 19:40
⁄ 工业·编程
⁄ 共 741字
1、生成[-1,1]的随机数
float GetRand() { return 2 .0 * rand() / RAND_MAX - 1.0; }
注意那个2.0不能写成2了,那样的话,你就真……
2、生成low到up(low < up)之间的随机正整数
unsigned int GetRandomInteger(int low, int up) { unsigned int uiResult; if (low > up) { ...
算法阅读全文
2013-07-13 19:39
⁄ 工业·编程
⁄ 共 735字
#include <iostream> #include <cstring> using namespace std;
int main() { int a[10][10]; int b[10]; int i,j,equ=0; //以当前时间为随机数种子,这样子下面每次产生随机数‘rand()’都不一样, //如果不用种子,则每次产生的随机数都在一个范围...
算法阅读全文