自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 spark RDD 源码阅读笔记

abstract class RDD[T: ClassTag]( @transient private var _sc: SparkContext, @transient private var deps: Seq[Dependency[_]] ) extends Serializable with Logging从上面RDD的类定义来看,创建一个RDD需要的是 spark

2016-02-29 16:30:53 1033

转载 算法学习--高级数据结构

字典树(Trie树)基础模版字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。字典树 – 应用串的快速检索给出N个单词组成的熟词表,以及一篇全用小写英文书写的文章,请你按最早出现的顺序写出所有不在熟词表中的生词。在这道题中,我们可以

2016-02-20 19:16:42 1014

转载 算法学习--模式匹配

模式匹配-BF算法到KMP算法模式匹配    子串的定位操作通常称为串的模式匹配。模式匹配的应用很常见,比如在文字处理软件中经常用到的查找功能。我们用如下函数来表示对字串位置的定位:int index(const string &Tag,const string &Ptn,int pos)    其中,Tag为主串,Ptn为子串(模式串),如果在主串Tag的第p

2016-02-19 14:54:57 866

转载 算法学习--回朔和剪枝

骑士旅游问题问题描述:在一个N*N 格子的棋盘上,有一只国际象棋的骑士在棋盘的左下角,骑士只能根据象棋的规则进行移动,要么横向跳动一格纵向跳动两格,要么纵向跳动一格横向跳动两格。骑士从第一个格子出发,每个格子只能访问一次,能否访问完所有的格子, 请找到一个解决方案。骑士也就是类似中国象棋中的马的走法。这个问题和典型的N皇后问题的比较类似的,都可以通过回溯法来解决。还有其它的解决

2016-02-18 21:40:59 659

转载 算法学习--图论

最大流问题-Ford-Fulkerson算法问题:有一个自来水管道运输系统,起点是s,终点是t,途中经过的管道都有一个最大的容量。求从s到t的最大水流量是多少?网络最大流问题是网络的另一个基本问题。许多系统包含了流量问题。例如交通系统有车流量,金融系统有现金流,控制系统有信息流等。许多流问题主要是确定这类系统网络所能承受的最大流量以及如何达到这个最大流量。如下图

2016-02-18 16:43:12 1105

转载 算法学习--位运算

检测一个数能否被3整除第一个解决方案就是小学就学过的,如果一个数的每个位相加之和能被3整除,则这个数就可以被3整除。例如612各位之和为9,则可以被3整除。但是这个解决方法并不高效,我们需要取得每一位,然后再一个个相加。观察二进制,我们可以找到一个模式来判断一个数能否被3整除。如果所有的偶数位出现1的次数为 even_count, 奇数位出现1的次数为 odd_count,两者

2016-02-17 17:41:05 1517

转载 算法学习--数学相关

欧几里得算法--求最大公约数欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 证明略去了。基本代码实现:int gcd(int a,int b){ if(b==0) return a; ret

2016-02-16 14:45:51 762

转载 算法学习--动态规划

动态规划(DP)通过分解成子问题解决了给定复杂的问题,并存储子问题的结果,以避免再次计算相同的结果。我们通过下面这个问题来说明这两个重要属性:1)重叠子问题2)最优子结构1)重叠子问题:像分而治之,动态规划也把问题分解为子问题。动态规划主要用于:当相同的子问题的解决方案被重复利用。在动态规划中,子问题解决方案被存储在一个表中,以便这些不必重新计算。因此,如果

2016-02-13 18:03:29 3595 2

转载 java学习--常量池

Java内存分配:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM存储:硬盘等永久存储空间---------------------------------------------

2016-02-12 23:17:05 448

转载 算法学习--贪心算法

任务选择问题贪心算法又称贪婪算法是指,在对问题求解时,总是做出在当前看来是最好的选择。当一个问题具有以下的性质时可以用贪心算法求解:每一步的局部最优解,同事也说整个问题的最优解。如果一个问题可以用贪心算法解决,那么贪心通常是解决这个问题的最好的方法。 贪婪算法一般比其他方法例如动态规划更有效。但是贪婪算法不能总是被应用。例如,部分背包问题可以使用贪心解决,但是不能解决0

2016-02-12 17:07:48 4155

转载 java学习--反射

一、什么是反射机制         简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。二、哪里用到反射机

2016-02-11 21:46:56 452

转载 算法学习--排序与查找

二分查找我们都知道二分查找算法,实际上二分查找以及其扩展应用是很广泛的。这里收集了一些和二分查找有关的有趣问题。强烈建议大家看完问题后最小化浏览器,先尝试自己去解决,然后再看代码,问题都不是太难。问题1描述给一个已经排序的数组,其中有N个互不相同的元素。要求使用最小的比较次数找出其中的一个元素。(你认为二分查找在排序数组里找一个元素是最优的算法的吗?)不需要太多的理

2016-02-11 18:17:06 1351

转载 算法学习--栈

包含min函数的栈题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push进栈的元素最先出栈,这种思路设计的数据结构已经不是一个栈了。

2016-02-10 17:36:00 537

转载 java学习--多线程

Java是少数的集中支持多线程的语言之一,大多数的语言智能运行单独的一个程序块,无法同时运行不同的多个程序块,Java的多线程机制弥补了这个缺憾,它可以让不同的程序块一起运行,这样可以让程序运行更加顺畅,同时也达到了多任务处理的目的。  一、线程和进程的概念  现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。  进程是程序的一个动态执行过程,是指一个内存中

2016-02-09 22:20:44 382

转载 java学习--jvm内存初学

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不

2016-02-08 15:42:42 535 1

转载 java学习--内部类

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指

2016-02-08 14:50:49 281

转载 算法学习--二叉树

二分查找树转化为排序的循环双链表输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。例如对于下面的二分查找树:small pointer 其实也就是指向左孩子,large pointer指向右孩子,转化为双链表之后 small pointer应该指向前一个元素,large pointer应该指向后一个元素。

2016-02-06 20:27:18 672

转载 算法学习--线性表

链表反转:链表反转也是比较常见的一个面试题。方法1. 迭代。 分别设置三个指针。第一个指针保持结果,第二个指针指向当前的节点,第三个指针保存下一个节点。static void reverse(struct node** head_ref){ struct node* prev = NULL; struct node* current = *head_r

2016-02-06 17:49:48 744

wifi技术简介

wifi的发展史已经应用前景,对写论文很有用的

2012-04-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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