Thinking in scala (8)---- 乘幂计算】的更多相关文章

递归的方式: b^n = (b^(n/2))^2 若n是偶数 b^n = b*(b^(n-1)) 若n是奇数 迭代的方式 product:存储中间结果,初始化为1 b^n = (b^2)^(n/2) * product       若n是偶数 b^n = b^(n-1)       * product*b    若n是奇数 递归方式比较简单,这里不再贴上实现的代码,下面是用迭代方式计算乘幂的Scala代码: object expt{ def f(b:Int,n:Int,product:Int):…
最近在学习使用Scala语言做项目,感觉这门语言实在是太优美了!作为一个本科数学.研究生机器学习专业的混合人才(哈哈),这门语言真的是满足了普通计算机编程(告诉计算机怎么做)和函数式编程(告诉计算机做什么)的所有幻想.学了半个多月,根本停不下来!先来做个总结: 语法简洁,往往比Java少至少一半的代码量.比如: 支持自动类型判断,可以省去很多类型标志. e.g.  val x = 2 用伴生对象来生成类,省去new的麻烦.e.g. val cat = Cat("Hello Ketty"…
Scala源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库. Scala的基础类型基本与javascript一致. Scala的数据类型全部相同于Java中,具有相同的内存占用和精度.以下表是有关可在Scala中所有的数据类型的细节: 数据类型 描述 Byte 8位有符号值.范围从-128到127 Short 16位有符号值.范围从-32768至32767 Int 32 位有符号值.范围从 -2147483648 to 2147483647 Long 64位…
今天主要是关于Scala中对List的相关操作,list在Scala中应该是至关重要,接下来会讲解关于List的一系列操作 List的map.flatMap.foreach.filter操作讲解 1.关于List的Map.flatMap操作.区别 2.对List的foreach.filter操作 //list中的Map中用一个函数表达式-->实则是对list进行操作,_可以表示一个函数或者表达式 List(1, 2, 3, 4, 6) map (_ + 1) //> res0: List[In…
转自:https://www.cnblogs.com/reed/p/7730338.html 今天做题,其中一道是 请简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什么样的场景. 一直想对这些大数据计算框架总结一下,只可惜太懒,一直拖着.今天就借这个机会好好学习一下. 一张表 名称 发起者 语言 简介 特点 适用场景 Hadoop Yahoo工程师,Apache基金会 Java MapReduce分布式计算框架+HDFS分布式文件系统(GFS)+HBase数据存…
1.常量定义:  val val 类似于java中的final变量.一旦初始化了,val就不能再被赋值 val megs = "hello world" 2.变量的定义: var var 如同java里面的非final变量,可以在它的声明周期内多次被赋值 var spark:String = " i am big data " var spark: String = " i am" 解释器中支持table键 补充和提示 3.变量类型推断: 当分配…
Spark简介 视频教程: 1.优酷 2.YouTube 简介: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架.Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目Spark以其先进的设计理念,迅速成为社区的热门项目,围绕着Spark推出了Spark SQL.Spark Streaming.MLLib和GraphX等组件,也就是BDAS(伯克利数据分析栈),这些组件逐渐形成大数据处理一站式解决平台. Spark使用Scala语言实现,…
Spark 入门 目录 一. 1. 2. 3. 二. 三. 1. 2. 3. (1) (2) (3) 4. 5. 四. 1. 2. 3. 4. 5. 五.         Spark Shell使用 1. 2. 六.         运行WordCount Demo 1. 2. 3. 七.         Spark TopKey Demo 八. 1. 2. 一. Spark功能和优势 1.        Spark功能 Spark类似于MapReduce,是另一种分布式计算框架,由于MapRe…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .简介 1.1 Spark简介 年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处,Spark以其先进的设计理念,迅速成为社区的热门项目,围绕着Spark推出了Spark SQL.Spark Streaming.MLLib和GraphX等组件,也就是BDAS(伯克利数据分析栈),这些组件逐渐形成大数据处理一站式解决平台.从各方面报道来看Spark抱负并非池鱼,…
RDD的创建  两种方式来创建RDD: 1)由一个已经存在的Scala集合创建 2)由外部存储系统的数据集创建,包括本地文件系统,还有所有Hadoop支持的数据集,比如HDFS.Cassandra.HBase.Amazon S3等. RDD只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来创建.这些确定性操作称为转换,如map.filter.groupBy.join. 第1个RDD:代表了spark应用程序输入数据的来源,通过Transformation来对RDD进行各种算子的…