《计算机算法设计与分析》--代码规范以及《数学之美》读后感

一、代码规范

1、变量的命名规则要求用“匈牙利法则”

即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。即:变量名=变量类型+变量的英文意思(或缩写)对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。

 

2、对齐(Alignment)与缩进(indent)

——保证代码整洁、层次清晰的主要手段
-“{位置的两种风格
{和}独占一行,且位于同一列,与引用它们的语句左对齐,便于检查配对情况
位于同一层{和}之内的代码在{右边数格处左对齐,即同层次的代码在同层次的缩进层上
—一般用设置为4个空格的Tab键缩进,不用空格缩进

《计算机算法设计与分析》--代码规范以及《数学之美》读后感_第1张图片

 

 

 

 

二、《数学之美》读后感

读了《数学之美》1.13   数学之美系列十三 — 信息指纹及其应用

说到指纹,我们就会想到每个人的指纹都是独一无二的,那么在指纹录入的信息中真的是独一无二的吗?

答案是不一定。

任何一段信息文字,都可以对应一个不太长的随机数,
作为区别它和其它信息的指纹(Fingerprint)。
只要算法设计的好,任何两段信息的指纹都很难重复
,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。
 
原文中说的很难会重复,所以我们的指纹还是会有几率重复的,不过这个几率很小。
接下去往下读,我们来看一下为什么吧?
 
产生信息指纹的关键算法是伪随机数产生器算法(prng)。最
早的 prng 算法是由计算机之父冯诺伊曼提出来的。他的办法非
常简单,就是将一个数的平方掐头去尾,取中间的几位数。比如
一个四位的二进制数 1001(相当于十进制的 9),其平方为
01010001 (十进制的 81)掐头去尾剩下中间的四位 0100。当然
这种方法产生的数字并不很随机,也就是说两个不同信息很有可
能有同一指纹。

 但是就算有几率重复或者说可能被黑客攻破,我们也大可不必惊慌,因为我们与很多加密功能和系统。看

互联网上加密要用基于加密伪随机数产生器(csprng)。常用
的算法有 MD5 或者 SHA1 等标准,它们可以将不定长的信息变
成定长的 128 二进位或者 160 二进位随机数。值得一提的事,
SHA1 以前被认为是没有漏洞的,现在已经被中国的王小云教授
证明存在漏洞。但是大家不必恐慌, 因为这和黑客能真正攻破
你的注册信息是还两回事。 

好了,就先读到这里吧。

信息指纹的虽然历史很悠久,但真正的广泛应用是在有了互
联网以后,这几年才渐渐热门起来。 

 三、以后规划

我觉得可以自己用编程做一些小游戏,类似别踩白块儿这些,还有可以做一些脚本或插件,做成一些绿色外挂,解放双手。

你可能感兴趣的:(《计算机算法设计与分析》--代码规范以及《数学之美》读后感)