本篇博文总结的是这本书的第四章的内容。下面开始主要内容知识的总结。
第四章 算法基础
首先学习的是算法中的基础的基础:介绍利用数组进行循环处理的算法。
4.1 循环处理和控制变量
记述算法的时候,循环处理是最常用的。利用一个控制变量管理循环次数,以期只进行必要次数的处理。
执行步骤如下:
4.2 利用循环处理使过程处理通用化
求1~N的总和。执行步骤如下图
具体展开步骤如下:
4.3 求斐波那契数列
要保存数列的值的话,最简单的方法就是使用数组。
斐波那契数列定义如下:
求解步骤如下:
4.4 求数组数据的总和
比如:计算考试的总分,计算一个月的总营业额等。
举例说明:
计算一年的总营业额,计算过程如下:
展开计算结果如下:
4.5 总和÷数组数据的个数
使用数组不会明确标明有有效元素的个数N,而有效的数组元素结尾加上一个空数据来标记有效元素的结束。
举例如下:
计算全班级分数的总和和平均值:
展开计算过程如下:
4.6 求数组中的最大值
在求最大值的过程中,首先准备一个保存最大值的变量MAX,并且把MAX初始化为比对象数据最小值还小的值。然后对数据进行遍历处理,遍历完成之后,max保存的就是最大值。
处理步骤如下:
4.7 求最低分
求最小值的算法和最大值算法类似。但也有差异。
保存最小值的变量的最小值,和数组元素进行比较的逻辑。
处理步骤如下:
4.8 为数组元素排名
首先准备一个和保存数据的数组长度相等的另外一个数组,并且把所有待排序的数组中的所有数组元素在数组中的排位保存到新的数组中。
具体步骤如下:
展开计算过程如下:
4.9 二维数组操作
统计二维数组各行总和的操作,“统计某一行的总和的循环处理”和“把求列总和的操作分不同的行各自进行的循环处理”。
多重循环:在一个循环内部,再嵌套循环。
执行步骤如下:
4.10 对齐单位运算
比如计算时分秒的两个时间差值。首先要转换成相同单位进行计算,再然后处理成为对应的格式。
4.11 两变量值交换
执行步骤如下:
步骤解析:
4.12 求两个值的最大公约数
最大公约数:
两个整数共同约数的最大数。
计算方法:
欧几里得相除法
展开计算步骤如下:
专题4 2038年的时候要留心
现在过去的一些程序时间通常使用4个字节来表示的。从1970 00:00:00到20380119 03:14:07都可以正常计时,再过一段时间,也就是1s,那么时间就归零了。