算法第一章第一次作业

 

本学期编码需要的规则

排版

1.关键词和操作符之间加适当的空格

2.相对独立的程序块与块之间加空行

3.较长的语句、表达式等要分成多行书写。

4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。

5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。

7.若函数或过程中的参数较长,则要进行适当的划分。

8.不允许把多个短语句写在一行中,即一行只写一条语句。

9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。

10.C/C++语言是用大括号‘{ ’和‘ }’界定一段程序块的,编写程序块时‘{ ’和 ‘ }’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体 的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、 switch、case语句中的程序都要采用如上的缩进方式。

注释

1.注释要简单明了。

2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

3.在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止 注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。

4.对代码的注释应放在其上方相邻位置,不可放在下面。

命名

1.较短的单词可通过去掉“元音”形成缩写;

2.较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。

可读性

1.避免使用不易理解的数字,用有意义的标识来替代。

2.不要使用难懂的技巧性很高的语句。

3.源程序中关系较为紧密的代码应尽可能相邻。

变量

1.去掉没必要的公共变量。

2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。

3.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。

4.明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。

5.当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。

6.防止局部变量与公共变量同名。

7.仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。

8.结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。

9.留心具体语言及编译器处理不同数据类型的原则及有关细节。

10.严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。

函数过程

1.函数的规模尽量限制在200行以内。

2.一个函数最好仅完成一件功能。

3.为简单功能编写函数。

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

5.尽量不要编写依赖于其他函数内部实现的函数。

6.避免设计多参数函数,不使用的参数从接口中去掉。

7.用注释详细说明每个参数的作用、取值范围及参数间的关系。

8.检查函数所有参数输入的有效性。

9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。

10.函数名应准确描述函数的功能。

11.避免使用无意义或含义不清的动词为函数命名

12.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。

13/明确函数功能,精确(而不是近似)地实现函数设计。

14.减少函数本身或函数间的递归调用。

程序效率

1.编程时要经常注意代码的效率。

2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。

3.不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。

4.编程时,要随时留心代码效率;优化代码时,要考虑周全。

5.要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。

6.通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。

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

8.尽量减少循环嵌套层次。

9.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。

10.尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。

数学之美读后感

重点去看了第九章 图论和网络爬虫

在上学期的离散数学中,我们也重点学习了图论,在数学之美中看到也感觉十分熟悉,著名的哈密尔顿图,哈密尔顿回路,欧拉图以及欧拉回路,广度优先算法、深度优先算法,这些看似很理论的东西确与实际生活息息相关,如今全球使用的卫星地图等正是在这些的基础上,才得以发展和使用。

而图论的应用不仅仅是卫星地图等,还有我们每天都在使用的搜索引擎,图论的遍历算法和搜索引擎有着密切的关系。

互联网其实就是一张大图,当点击的时候,浏览器通过隐藏的网址跳转到相应的网页,有了这些超链接,可以从任意网站出发,用图的遍历算法,自动访问每一个网页并将其保存下来,这就是网络爬虫。商用的网络爬虫需要成千上万的服务器,并且需要有告诉网络得以连接起来。

看似离生活很远的理论知识实则与我们每天都在使用的技术都有关,要透过生活去发现更多数学之美,发现更多隐藏的技术。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值