多线程设计(linux c pthread_mutex_trylock和pthread_mutex_lock)

1.问题:理想情况下有两条线程,一条线程不断插入队列,一条线程不断取出队列,两条线程是并发执行的,但实验阶段的现象却是第一条线程全部插入队列后第二条线程才会开始取 (1)线程一: pthread_mutex_lock(&queue_mutex); insertSort...

2018-09-13 14:01:05

阅读数 589

评论数 0

大数据算法

前言 1.MapReduce计算框架流程 Mapper(映射器): 1)对数据进行分片,划分成多个Splits(每个Split按照块大小划分),每个Split都对应一个Mapper 2)Mapper对应的将Split中的数据进行映射成(key,value) Reducer(归约器) 对...

2018-09-03 16:18:35

阅读数 316

评论数 0

深入浅出JVM

深入浅出JVM学习笔记 一.Java平台 大致分为编译时环境和运行时环境两部分 编译时环境:通过javac xxx.java命令启动java编译器,编译java源程序为xxx.class字节码 运行时环境:通过本地/网络传输xxx.class到java虚拟机,即jvm(这个过程是通过Cla...

2018-09-03 16:03:49

阅读数 199

评论数 0

MaximalRectangle

1.问题描述 给定一个由'0'和'1'组成的2D空间,找到这个空间中只包含1的最大矩阵 2.解题思路 将此问题转换为求只包含'1'的左边界和右边界问题 3.程序源码 public int maximalRectangle(char[][] matr...

2017-12-20 10:42:24

阅读数 140

评论数 0

InterleavingString

1.问题描述 给定字符串s1,s2,s3,判断由s1,s2是否可以构成s3 2.解题思路 动态规划问题,由于返回值是boolean类型,因此假设有二维数组dp 1)最优子问题描述: 最优问题是s1,s2是否可构成s3,即0~s1.length-1和0~s2.length-1是否可构成i+...

2017-12-18 11:36:59

阅读数 153

评论数 0

Java设计模式简介

一.设计模式的六大原则: 1.        开闭原则:即对扩展开放,对修改关闭,实现热插拔效果 2.        里氏代换原则:是继承复用的基石,任何基类出现的地方都可以用衍生类替换,并增加新的功能 3.        依赖倒转原则:依赖于抽象,面向接口编程 4.        接口隔...

2017-12-11 22:01:22

阅读数 284

评论数 0

ConvertSortedListToBinarySearchTree

1.问题描述 根据给定的有序单链表,创建一个平衡二叉查找树(每个节点node的左子树node.left上的节点值都小于node.val,每个节点node的右子树node.right上的节点值都大于node.val) 2.解题思路 寻找head(开始节点),tail(结束节点)的中位节点,即采...

2017-12-11 16:51:58

阅读数 135

评论数 0

DistinctSubsequences

1.问题描述 给定字符串S和T,求S中T的子串个数,T的子串为删除T的任意元素构成的新串 2.解题思路 DP问题,最优子结构dp[i][j]为S[0...i-1]中T[0...j-1]的子串数量 若S.charAt(i-1)!=T.charAt(j-1)说明两个串的最后一个元素不相同,dp...

2017-12-11 14:07:36

阅读数 119

评论数 0

BestTimeToBuyAndSellStockIII

1.问题描述 给定一个数组prices,其中prices[i]表示为第i天的股票价格,在保证最多两次交易的前提下且再次购买前必须先卖出,求最大收益 2.解题思路 1)由于最多两次交易,因此设置变量buy1,sell1,buy2,sell2 2)类似于四个数比较大小 buy1=Math.m...

2017-12-09 21:47:47

阅读数 126

评论数 0

WordLadder

1.问题描述: 给定一个开始单词,每次只允许经过一个字符的变化,且变化后的单词需要在给定的词典中(不可重复出现),最后变换到结束单词,在这个过程中一共需要变换的最少次数 2.解题思路: 1)每轮开始单词保存在beginSet集合中,每轮结束单词保存在endSet中,已访问过的单词保存在vis...

2017-12-09 16:22:26

阅读数 134

评论数 0

Apache Spark源码走读

ApacheSpark源码走读之3-Task运行期之函数调用关系分析 一.Spark中间结果处理 1.中间计算任务ShuffleMapTask执行完计算后会将计算状态封装为MapStatus并返回给DAGScheduler 2.DAGScheduler将MapStatus保存到MapOutp...

2017-12-08 22:28:36

阅读数 200

评论数 0

Spark RDD源码剖析

1.    RDD是一个抽象类,需要实现两个抽象函数 abstract class RDD[T: ClassTag](     @transientprivate var _sc: SparkContext,     @transientprivate var deps: Seq[Depen...

2017-12-07 19:07:45

阅读数 139

评论数 0

SurroundedRegions

1.问题描述 给定一个包含'X'和'O'的2D板,捕捉所有被'X'包围的区域。一个区域通过在所围绕的区域中将所有的'O'翻转成'X'来捕获。 2.解题思路 采用递归解决,若区域中某个位置的元素为'O'则对其元素转换为'*',则对其上下左右相邻元素进行处理 3.程序源码 public vo...

2017-12-07 10:28:40

阅读数 101

评论数 0

HDFS概述

第6章HDFS概述 6.1HDFS的主要特性 1.HDFS的主要特征 l  支持超大文件 l  检测和快速应对硬件故障 l  流式数据访问 l  简化一致性模型(1次写多次读)   2.HDFS不适合的场景 l  低延迟数据访问,可以考虑HBase或者Cassandra l  ...

2017-12-07 10:14:09

阅读数 185

评论数 0

Spark快速大数据分析

第三章 RDD编程 Driver(main函数):定义了RDD以及算子操作 3.1 RDD基础 transformation(转换)算子操作:RDD[A]->RDD[B] action(立即)算子操作:RDD[A]->result //立即提交job执行,并返回result的过...

2017-12-07 10:12:45

阅读数 566

评论数 0

Spark机器学习

第二章 数据驱动的机器学习系统的组成 1.    机器学习系统组成: 数据收集->数据清洗与转换->模型训练->模型测试->模型部署与整合->模型监控与反馈(同时监控模型的准确度相关指标以及业务指标,模型反馈是指通过用户的行为来对模型的预测进行反馈) 2.   ...

2017-12-07 10:11:23

阅读数 1762

评论数 0

深入浅出JVM

深入浅出JVM学习笔记 一.Java平台   大致分为编译时环境和运行时环境两部分 编译时环境:通过javac xxx.java命令启动java编译器,编译java源程序为xxx.class字节码 运行时环境:通过本地/网络传输xxx.class到java虚拟机,即jvm(这个过程是通过...

2017-12-07 10:07:40

阅读数 226

评论数 0

Scala基础语法

Scala学习教程 1.Scala概述 运行在JVM上的纯面向对象和函数式编程语言,能够兼容任何Java API,Kafka和Spark均由Scala编写   Scala特性: 1)面向对象编程 类的抽象机制包括子类继承,混入机制 2)函数式编程 函数可作为值使用,定义匿名函数,支...

2017-12-07 10:04:00

阅读数 254

评论数 0

Spark高级数据分析

第一章 大数据分析 1.数据科学面临的挑战 1)数据分析绝大部分工作是数据预处理包括清洗,处理,融合,挖掘以及其他操作,即使模型调优阶段,特征提取和选择上花费的时间比选择和实现算法时间更多 2)迭代与数据科学紧密相关,比如模型优化时采用的随机梯度下降和最大似然估计,构建模型时需要选择正确特征...

2017-12-07 10:01:58

阅读数 3050

评论数 0

Spark知识体系

1.大数据的四大特征(4V):海量的数据规模,快速的数据流动和动态的数据体系,多样的数据类型,巨大的数据价值   2.RDD与DataFrame区别:RDD是一个抽象数据集,DataFrame则相当于一个二维表,带有schema元数据信息,更便于上层应用分析 3.DataFrame和Da...

2017-12-07 09:56:23

阅读数 576

评论数 0

提示
确定要删除当前文章?
取消 删除