算法第一周作业(大厂+数学之美)

一、华为公司内部编码规范

1. if、for、while、case、switch、default等语句各自占一行,且其执行语句需要加 {}

示例:

 if(node == null) {

    return;

}

 

2. 双目操作符前后需要加空格,单目操作符前后不需要加空格, ->和. 后不加空格

示例:

双目:

a = b + c;

a *= 2;

a = b % 2;

单目:

i++;

flag = !isEmpty;

$obj->getName();

json.data.length;

 

3. 避免使用不易理解的数字,用有意义的标识来替代。涉及物理意义或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或者宏来代替。

 

4. 不要涉及面面俱到、非常灵活的数据结构

 

5. 在同一项目中,应该明确规定对接口函数参数的合法性检查应该由调用者还是接口函数本身负责,默认情况是函数调用者负责。

 

6. 避免将函数的参数作为工作变量。

 

7. 函数的功能应该是可以预测的,也就是说输入数据相同就应产生同样的输出。

 

8. 避免将没有关联的语句放到一个函数中

 

9. 设计高扇入、合理扇出(< 7)的函数

    说明: 扇出指一个函数直接调用其他函数的数目,而扇入是指有多少商机函数调用它。

 

10. 在多重循环中,应该将最忙的循环放最内层。

  示例:

for(var i = 0; i < 100; i++) {

   for(var j = 0; j < 5; j++) {

         doSomething(); 

   }

}

应该修改为:

for(var j = 0; j < 5; j++) {

   for(var i = 0; i < 100; i++) {

         doSomething(); 

   }

}

二、读《数学之美》第3章 统计语言模型 有感

自然语言从它的产生开始,就在逐渐演变成一种能够处理上下文相关的信息表达和传递的方式,因此为了让计算机能够处理自然语言,一个比较基本的问题就是为自然语言建立数学模型。而这个数学模型就是在自然语言处理中经常提及的统计语言模型,它是今天所有自然语言处理的基础,并且广泛应用与机器翻译、语音识别、印刷体和手写体识别、拼写纠错、汉字输入和文献查询。
统计模型:判断一个句子是否合理,就看看它的可能性大小如何。至于可能性就用概率来衡量。这个方法更普通而严格的描述是:假定S表示某个有意义的句子,由一连串特定顺序排列的词w1,w2,...,wn组成,这里n是句子的长度。现在,我们想知道S在文本中出现的可能性,也就是数学上所说的S的概率P(S)。
模型的训练。 使用语言模型需要知道模型中所有的条件概率,我们称之为模型的参数。通过对语料的统计,得到这些参数的过程称作模型的训练。(page33)

posted @ 2021-09-12 14:49  0never  阅读(52)  评论(0编辑  收藏  举报