page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]

public class VisualAccumulator

  VisualAccumulator() 创建一个累加器

  void addDataValue(double val) 添加一个新的数据值

  double mean() 所有数据值的平均值

  String toString() 对象的字符串表示

所用到的java类有:

【 VisualAccumulator.java 】如下

 1 public class VisualAccumulator {
 2
 3     private double total;
 4     private int N;
 5
 6     public VisualAccumulator(int trials , double max){
 7
 8         StdDraw.setXscale(0, trials);
 9         StdDraw.setYscale(0, max);
10         StdDraw.setPenRadius(.005);
11     }
12
13     public void addDataValue(double val){
14
15         N ++;
16         total += val;
17         StdDraw.setPenColor(StdDraw.DARK_GRAY);
18         StdDraw.point(N, val);
19         StdDraw.setPenColor(StdDraw.RED);
20         StdDraw.point(N, total/N);
21
22     }
23     public double mean(){
24         return total/N;
25     }
26     public String toString(){
27         return "mean  (" + N + "values: )" + String.format("%7.5f", mean());
28     }
29 }

【TestVisualAccumulator.java 如下 】

 1 public class TestVisualAccumulator {
 2
 3
 4     public static void main(String[] args) {
 5
 6         int T = Integer.parseInt(args[0]);
 7         VisualAccumulator a = new VisualAccumulator(T, 1.0);
 8         for (int t = 0; t < T; t++)
 9             a.addDataValue(StdRandom.uniform());
10         StdOut.println(a);
11     }
12 }

最后可视化的结果如下图:

时间: 2024-08-05 07:06:23

page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]的相关文章

【软件构造】第三章第三节 抽象数据型(ADT)

第三章第三节 抽象数据型(ADT) 3-1节研究了"数据类型"及其特性 ; 3-2节研究了方法和操作的"规约"及其特性:在本节中,我们将数据和操作复合起来,构成ADT,学习ADT的核心特征,以及如何设计"好的"ADT. Outline ADT及其四种类型 ADT的基本概念 ADT的四种类型 设计一个好的ADT 表示独立性 ADT的特性 不变量 表示泄露 抽象函数AF 表示不变量RI 以注释的形式撰写AF.RI Notes ## ADT及其四种类型

两种接口传送数据协议(xml和json)

规范性接口开发中,一般数据是以json或者xml的格式传送的,而不是字符串的形式直接返回给接口调用者:下面介绍这两种格式的编写方法. 下面两种数据传送方式是接口输出端的编写.需引入的包如下: <span style="font-family:KaiTi_GB2312;font-size:18px;">importjava.io.PrintWriter; importjava.io.StringWriter; importjavax.servlet.http.HttpServ

Hive三种不同的数据导出的方式

转自:http://blog.chinaunix.net/uid-27177626-id-4653808.html Hive三种不同的数据导出的方式,根据导出的地方不一样,将这些方法分为三类:(1)导出到本地文件系统 (2)导出到HDFS (3)导出到hive的另一个表中 导出到本地文件系统 执行: hive> insert overwrite local directory '/root/student' > select * from student; 通过insert overwrite

[转]6种常见的数据加载模式设计

原文链接:http://elya.cc/2014/03/31/loading/ 设计师在进行APP设计的设计时,往往会更加专注于界面长什么样,界面和界面之间怎么跳转,给予用户什么样的操作反馈,却偏偏特别容易忽略掉一个比较重要的环节,就是APP数据加载中的设计,所以会导致我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以轻松自在的享受等待,对加载后的

一种灵活的数据架构

一般来说,电商数据架构是比较复杂的,做过电商的同学都有深刻的体会.具体复杂在什么地方呢,举几个具体的例子:1  每种商品都有自己的独特属性.比如鞋子和电脑的属性是完全不一样的.如何对他们构造商品数据架构?2  如何维护它们.不至于因为业务的发展,使得数据结构变得异常复杂而无法拓展和维护?3  未来可能会卖更多种类的商品.我们人类也会发明出来更多新的商品.如何适应变化?4每秒钟的并发量十分巨大,数据架构在这方面如何考量?5商品数据配置错误,如果快速就地回滚,为线上快速止血?6如何为整个开发周期提供

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. J

6种常见的数据加载模式设计

设计师在进行APP设计的设计时,往往会更加专注于界面长什么样,界面和界面之间怎么跳转,给予用户什么样的操作反馈,却偏偏特别容易忽略掉一个比较重要的环节,就是APP数据加载中的设计,所以会导致我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以轻松自在的享受等待,对加载后的内容有明确的预期呢? 今天这篇文章,会介绍6种常见的加载模式设计,和3种减少等待

iOS五种本地缓存数据方式

iOS五种本地缓存数据方式 iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中. 2.NSUserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下. 3.归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中. 4.coreData:coreData是苹果官

sql有几种删除表数据的方式

有几种删除表数据的方式? truncate.delete和drop都可以删除数据. TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少.DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项.TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放. TRU