Algs4-1.1.34过滤,考虑存储用量

1.1.34过滤。以下哪些任务需要(在数组中,比如)保存标准输入中所有值?哪些可以被实现为一个过滤器且仅使用固定数量的变量和因定大小的数组(和N无关)?在每个问题中,输入都来自于标准输入且含有N个0到1的实数。

1)打印出最大和最小的数
  一个变量max保存最大数、一个变量min保存最小数、一个变量current保存当前读入的数。

2)打印出所有数的中位数
   需要将标准输入保存在数组中,然后按非递减排序,再通过数组元素是奇数还是偶数个找出中位数。

3)打印出第k小的数,k小于100
   需要将标准输入保存在数组中,然后按非递减排序,数组中的第k个元素即为第k小的数。

4)打印出所有数的平方和
   一个变量current保存当前读入的数,一个变量sum保存所有数的平方和。sum=sum+current^2

5)打印出N个数的平均值
   一个变量current保存当前读入的数,一个变量sum保存所有数的和。sum=sum+current,平均数=sum/n

6)打印出大于平均数的数的百分比
   需要将标准输入保存在数组中,求出平均数,将数组按非递减排序,在排序数组中找出第一个大于平均数的元素下标由此计算出大于平均数的个数,再除以N得出百分比。

7)将N个数按升序打印
   需要将标准输入保存在数组中,按非递减排序后从数组结尾向开始打印。

8)将N个数按照随机顺序打印
   直接将标输入的数打印

原文地址:https://www.cnblogs.com/longjin2018/p/9848726.html