自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长风破浪会有时

万千相遇已是莫大的缘分

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

翻译 Spark对ES的读写

Apache Spark是一个快速且通用的集群计算系统。 它提供了Java,Scala和Python中的高级API以及支持通用执行图的优化引擎。Spark通常通过将数据缓存到内存中,从而为大型数据集提供快速的迭代/功能类功能。 与本文档中提到的其他库相反,Apache Spark是一种计算框架,与Map / Reduce本身无关,但它与Hadoop集成,主要针对HDFS。 elasticsea...

2018-04-28 20:01:45 13532 2

原创 动态规划

动态规划(DP)思想:通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。(在分治思想中,前一子问题和后一子问题互不影响)在求解任一子问题时,列出各种可能的局部解,通过决策保...

2018-04-25 20:09:23 203

转载 java实现汉诺塔

转载自:http://blog.csdn.net/ljmingcom304/article/details/50296939 存在A、B、C大小形同的3根石柱,其中A石柱从下往上按照大小顺序依次摆放着n个盘子,现在需要将A石柱的盘子全部移动到C石柱上,并且每次只能移动一个圆盘,小圆盘不能放在大圆盘上,请问该如何移动? 算法分析: 当n=1时,也就是刚开始A石柱上仅仅摆放一个圆盘,那么...

2018-04-24 17:25:42 5426 1

原创 树和堆的一些概念

对于大量的输入数据,链表的线性访问时间太慢。树是一种简单的数据结构,其大部分操作的运行时间平均为O(logN)。二叉查找树是TreeSet和TreeMap实现的基础。树可以用几种方式定义。一种方式是递归,一棵树是一些节点的集合。这个集合可以是空集,若不是空集,则树由称作根的节点root已经0个或多个非空子树组成。一棵树是N个节点和 N-1条边的集合。 二叉树:其中每个节点都不能有多于两个的...

2018-04-24 16:58:49 1422

转载 分治算法

分治算法:快速排序,归并排序,汉诺塔问题,傅立叶变换,包括动态规划,贪心算法都有运用到分治思想。分治策略是: 对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。1、将问题的规模变小,变成若干个子问题...

2018-04-24 11:35:19 134

原创 java实现二叉查找树

package com.algorithm;import java.util.Comparator;import java.util.Iterator;import java.util.Stack;/** * 功能简述<p>: * 功能详述: * * author:wangzha */public class BinarySearchTree<T&gt...

2018-04-23 23:33:56 182

原创 LeetCode算法练习(三数之和)

题目给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。注意事项 在三元组(a, b, c),要求a <= b <= c。结果不能包含重复的三元组。您在真实的面试中是否遇到过这个题? 样例 如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:(-1, 0, 1)(-1, -1...

2018-04-23 17:13:34 1589

转载 计算机如何启动的

原文地址: http://www.ruanyifeng.com/blog/2013/02/booting.html我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示…… 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这...

2018-04-23 15:05:52 144

转载 java实现二叉查找数迭代

题目描述Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST. 实现一个适用于二叉查找树的迭代器,该迭代器通过二叉查找树的根结点来实例化。Calling next() will return the next ...

2018-04-23 14:59:27 187

转载 堆排序

堆排序  堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆  堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数...

2018-04-23 11:28:28 103

转载 归并排序

基本思想  归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。分而治之   可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递...

2018-04-23 11:27:23 115

转载 快速排序

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列基本步骤三数取中  在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。在此我们采用三数取中...

2018-04-23 11:26:10 146

转载 希尔排序

  希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。基本思想  希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来...

2018-04-23 09:05:29 138

原创 LeetCode算法练习( 删除排序链表中的重复元素)

题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3我的正确解答:/** * Definition for singly-linked list. * public class ...

2018-04-22 11:10:18 268

原创 LeetCode算法练习(删除排序链表中的重复元素 II)

题目:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3我的正确解答:/** * Definition for ...

2018-04-22 11:00:40 205

原创 计算机网络基础

**计算机网络**作为web开发工程师,有一个问题经常被提及:在一个浏览器中输入一个url开始到浏览器收到页面展示期间,经历了哪些过程? 从某个角度来说,这个问题是不严谨的。我们需用通常的场景,即在以最大的互联网因特网、TPC/IP网络体系结构、一般浏览器的情况下。 网络是由若干个节点和连接这些节点的链路组成的,互联网是一个很大的网络集合,他们之间又通过路由相互连接。 所谓的主机是在因特...

2018-04-20 17:26:50 190

原创 计算机系统简介

**计算机由硬件和软件组成。** 软件包括系统软件和应用软件。 系统软件又称为系统程序,用来管理整个计算机系统、监视服务,使系统资源得到 合理调度。包括:标准程序库、语言处理程序(将汇编语言翻译成机器语言的汇编程序; 将高级语言翻译成机器语言的编译程序)、操作系统(如批处理系统、分时系统、实时 系统)、服务性程序(如诊断程序、调试程序、连接程序)、数据库管理系统、网络软件等。 应用软件...

2018-04-11 11:47:56 464

原创 LeetCode算法练习(反转链表)

本文内容:1、题目2、解答3、递归解答1、题目反转一个单链表。2、解答/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * }...

2018-04-11 11:37:35 181

原创 LeetCode算法练习(旋转链表)

本文内容:1、题目2、我的正确解答1、题目给定一个链表,将链表向右旋转 k 个位置,其中 k 是非负数。示例:给定 1->2->3->4->5->NULL 且 k = 2,返回 4->5->1->2->3->NULL.2、我的正确解答/** * Definition for singly-linked...

2018-04-03 10:32:34 216

原创 LeetCode算法练习(交换相邻结点)

本文内容:1、题目2、我的解答1、题目给定一个链表,对每两个相邻的结点作交换并返回头节点。例如:给定 1->2->3->4,你应该返回 2->1->4->3。你的算法应该只使用额外的常数空间。不要修改列表中的值,只有节点本身可以​​更改。2、我的解答思路:利用可移动节点实现2元素交换值。/** * Defini...

2018-04-03 09:54:15 419

原创 LeetCode算法练习(合并2个有序链表)

本文主要内容:1、题目2、我的错误解答3、正确答案4、完美答案(递归解答)1、题目合并两个已排序的链表,并将其作为一个新列表返回。新列表应该通过拼接前两个列表的节点来完成。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->42、我的错误解答/** * 思...

2018-04-02 20:22:51 953

空空如也

空空如也

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

TA关注的人

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