自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java重难点总结 - 09.类型信息

09.类型信息

2018-08-17 07:50:25 173

原创 Java重难点总结 - 02.接口与继承

02.接口与继承

2018-08-10 23:03:16 200

原创 Java重难点总结 - 01.初始化与清理

01.初始化与清理

2018-08-09 22:41:33 121

原创 一、微服务基础

1、微服务的产生首先微服务并不是被发明出来的,而是在软件开发的工程实践中总结出的一种趋势或者模式。随着领域驱动设计、持续交付、按需虚拟化、基础设施自动化、小型自治团队、弹性云计算这些实践的流行,微服务也应运而生。很多组织发现细粒度的微服务架构可以帮助他们更快地交付软件,并且有更多机会尝试新技术。微服务在技术决策上给了我们级大的挑自由度,使我们能够更快地响应各种变化。2、什么是微服务微服

2018-02-07 19:23:16 158

原创 Java线程池源码解析

Java线程池ThreadPoolExecutor继承了AbstractExecutorService,间接实现了Executor接口。具体的继承关系如下图所示:常用的Executors其实是个工具类,里面提供了好多静态工厂方法,根据用户选择返回不同的线程池实例。不过一般不推荐直接使用Executors中提供的工厂方法,而是通过ThreadPoolExecutor的方式。Doug

2017-12-25 22:58:11 328

原创 Google面试题:在柱状图中找最大的矩形

在柱状图中找最大的矩形:给一组非负的整数来表示一个柱状图,设计一个算法找到最大面积的能适合到柱状图内的矩形。比如,对与这组数,1 2 3 4 1 ,有两种可能的方案,一种是适合到 2 3 4 内的矩形,面积是 2*3;另一种是适合到 3 4 内的矩形,面积是 3*2。你觉得能有O(n)算法吗?这是一道Google的面试题。下面给出我的解答方法,我的设定是所有柱状图的高度在0-10之间。

2012-11-29 14:29:50 836

原创 Nginx简介与安装

昨天在电脑上安装了CentOS 6.2,为的是学习Linux和nginx服务器的配置,并学习阅读nginx的源码。Web服务器也称为WWW服务器,HTTP服务器,主要功能是提供网页浏览服务。主流的Web服务器有Apache,Nginx,Lighttpd,IIS等。到目前为止,Apache仍然是市场占有率最高的Web服务器,市场占有率超过60%。主要的Web服务器的市场占有率如下图所示:(来

2012-11-29 14:29:47 445

原创 Linux API函数总结

(一)文件操作篇 1、creat(建立文件)头文件1 #include2 #include3 #include定义函数1 int creat(const char * pathname, mode_tmode);函数说明参数pathname指向欲建立的文件路径字符串。creat()相当于使用下列的调用方式调用open()1 open(cons

2012-11-29 14:29:45 468

原创 《算法导论》CLRS算法C++实现(十二)P208 最长公共子序列LCS

给定两个序列X和Y,如果Z既是X的一个子序列又是Y的一个子序列,则称序列Z是X和Y的一个公共子序列。 在最长公共子序列问题(LCS)中,给定了两个序列X=1,x2,…,xm>和Y=1,y2,…,yn>,希望找出X和Y的最大长度的公共子序列。最直观且容易想到的方法是枚举出X的所有子序列,然后逐一检查看其是否为Y的子序列,并随时记录所发现的最长子序列。这种方法的时间复杂度是指数级的,对于较长的

2012-11-29 14:29:42 466

原创 《算法导论》CLRS算法C++实现(十一)P163 红黑树

第十三章 红黑树首先说一下本章有一个地方的图有误,P168页的图,正确的图如下(case3有误,中文版): 在Linux内核和STL中,都大量使用了红黑树这种数据结构,原因是红黑树的搜索、插入和删除效率都很高。红黑树是一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是RED(红色)或BLACK(黑色)。一棵红黑树有如下性质: (1)每个结点要么是红的,要

2012-11-29 14:29:39 479

原创 《算法导论》CLRS算法C++实现 索引

算法导论  本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论

2012-11-29 14:29:37 494

原创 《算法导论》CLRS算法C++实现(十)P151 二叉查找树

第十二章 二叉查找树前几章比较简单,都是数据结构里的简单内容,以前也都写过,这次就不浪费时间在这些上面了。直接写二叉查找树、红黑树。在二叉查找树上执行的基本操作的时间与树的高度成正比。对一棵含n个结点的完全二叉树,这些操作的最坏情况运行时间为O(lgn)。但是如果二叉查找树是含n个结点的线性链,则这些操作的最坏情况运行时间为O(n)。二叉查找树的基本操作有:遍历,查找,求最大值,求最小

2012-11-29 14:29:34 556

原创 《算法导论》CLRS算法C++实现(九)P109 选择数组中第i小(大)的数 顺序统计量

第九章 中位数和顺序统计学9.2 以期望线性时间做选择上一讲是找出最小值,同时找出最大值最小值,以及找出次小值的问题。随意选择数组中第i小(大)的元素看起来要比找最小值的简单选择问题要复杂一些。但是令人惊奇的是,两种问题的渐近运行时间却是相同的,都是O(n)。算法导论上介绍了一种用来解决选择问题的分治算法,即RANDOMIZED-SELECT算法。本算法以快速排序算法的分割算法为基础,如同

2012-11-29 14:29:31 669

原创 《算法导论》CLRS算法C++实现(八)P108 最大值和最小值

第九章 中位数和顺序统计学9.1 最小值和最大值在一个有n个元素的集合中,要做多少次比较才能确定其最小元素呢?可以很容易地给出n-1次比较这个上界:依次查看集合中的每个元素,并记录比较过程中的最小元素。同样道理,最大值也可以通过n-1次比较找出来。这个算法比较简单,我就没有写程序实现了。在某些应用中,必须找出n个元素集合中的最大值和最小值。按照上面的思路,可以对目标数组进行两次扫描,便

2012-11-29 14:29:29 429

原创 《算法导论》CLRS算法C++实现(七)P102 桶排序

第八章 线性时间排序8.4 桶排序桶排序的思想就是把区间[0, 1)划分成n个相同大小的子区间,每一个区间称为桶(bucket)。然后,将n个输入数据分布到各个桶中去。因为输入数均匀且独立均匀分布在[0, 1)上,所以一般不会有很多数落在一个桶中的情况。为得到结果,先对各个桶中的数进行排序,然后按次序把各个桶中的元素列出来即可。在桶排序算法中,假设输入的是一个含n个元素的数组A,且每个

2012-11-29 14:29:26 417

原创 《算法导论》CLRS算法C++实现(六)P100 基数排序

第八章 线性时间排序8.3 基数排序算法导论上对基数排序的算法描述只有两行。。。 微言大义的说。。。RADIX-SORT(A, d)1 for i ← 1 to d2 do use a stable sort to sort array A on digit iC++代码 1 #include 2 3 using namespace st

2012-11-29 14:29:23 787 1

原创 《算法导论》CLRS算法C++实现(五)P98 计数排序

第八章 线性时间排序8.2 计数排序这个算法比较简单。计数排序的基本思想就是对每一个输入元素x,确定出小于x的元素个数。然后就可以把x直接放到它的最终输出数组的位置上。例如如果有17个元素小于x,则x旅游属于第18个输出位置。假定输入的日企 数组A[1..n],length[A]=n。另外还需要两个数组:存放排序结果的B[1..n],以及提供临时存储区的C[0..k]。COUNTI

2012-11-29 14:29:21 383

原创 《算法导论》CLRS算法C++实现(四)P85 快速排序

第七章 快速排序主要分为两个子算法,PARTITION(A, p, r)以A[r]为基准对数组进行一个划分,比A[r]小的放在左边,比A[r]大的放在右边。QUICKSORT(A, p, r)是快速排序的子程序,调用划分程序对数组进行划分,然后递归地调用QUICKSORT(A, p, r),以完成快速排序的过程。快速排序的最差时间复杂度为O(n2),平时时间复杂度为O(nlgn)。最差时间复杂

2012-11-29 14:29:18 363

原创 《算法导论》CLRS算法C++实现(三)P75 堆排序

第六章 堆排序主要分为三个子算法。算法MAX-HEAPIFY(A, i)为调整堆,算法BUILD-MAX-HEAP(A)为建堆,算法HEAPSORT(A)为堆排序。运行环境Code::Blocks 10.05。MAX-HEAPIFY(A, i) 1 l ← LEFT(i) 2 r ← RIGHT(i) 3 if l ≤ heap-size[A] and A[l] > A[i

2012-11-29 14:29:16 472

原创 《算法导论》CLRS算法C++实现(二)P17 归并排序

第二章 算法入门两个有序数组的合并这个算法我的实现跟算法导论上的实现有些许区别。我没有使用《算法导论》上的哨兵位的方法。而且直接判断有没有到数组的末尾。不过为了跟书上保持一致,我的伪代码还是使用算法导论上的伪代码。算法描述:MERGE(A, p, q, r)是把存储在A[p...q]和A[q+1...r]这两部分中的有序子序列合并到A[p...r]并使其有序。两个子数组的长度分

2012-11-29 14:29:13 397

原创 《算法导论》CLRS算法C++实现(一)P11 插入排序

过几个月要面试了,最近在看《算法导论》,想把里面的算法都用C++实现一遍。今天是第一个算法,比较简单。第二章 算法入门插入排序伪代码实现INSERTION-SORT(A)  《算法导论》P101 for j ← 2 to length[A]2 do key ← A[j]3 //Insert A[j] into the sorted seque

2012-11-29 14:29:09 736

原创 Linux网络编程

(一)Linux网络编程--网络知识介绍1、客户端和服务端网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端。2、客户端在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件), 所以这个地方我们的ftp程序就是客户端程序。服

2012-11-29 14:29:07 519

原创 Range和XRange的区别

Python官方文档里是这样说的:xrange([start,] stop[, step])This function is very similar to range(), but returns an ``xrange object'' instead of a list. This is an opaque sequence type which yields the same valu

2012-11-29 14:29:03 495

原创 黑苹果~~

这段时间一直忙于在我的老笔记本(DELL 戴尔Inspiron 6400)上安装黑苹果 Python笔记都没时间写了~~昨天终于成功的在笔记本上安装上了黑苹果 虽然还有一点小问题 网络连接还不能用 鼠标也会变成一条虚线。有没有同学知道是怎么回事的 麻烦告知下啊~~安装的时候确实碰到很多问题,例如一开始用变色龙引导的时候,就直接碰到五国了,找了几天问题,也不知道该怎么解决,后来换了boott

2012-11-29 14:29:00 1000

原创 Python学习笔记 04 数字

1、数字简介数字提供了标题贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。(1)创建数值对象并赋值>>> anInt = 1>>> aLong = -9999999999999999L>>> aFloat = 3.1415926>>> aComplex = 1.23 + 4.5iSyntaxError: invalid syntax>>> aComplex =

2012-11-29 14:28:58 539

原创 Python学习笔记 03 Python对象

1、Python对象Python对象都拥有三个特性:身份、类型和值。身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址。类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样操作,以及遵循什么样的规则。可以使用内建函数type()查看Python对象的类型。值:对象表示的数据项。常用的对象属性

2012-11-29 14:28:55 340

原创 Python学习笔记 02 Python基础

1、语句和语法#号表示之后为python的注释。换行(\n)是标准的行分隔符(通常一个语句一行)。反斜线(\)继续上一行,在使用闭合操作符(小括号,中括号,大括号,三引号)时,单一语句可以跨多行。分号(;)将2个句子连载一行,可以用于同一行书写多个语句。冒号(:)将代码块的头和体分开,像if,while,def,class这样的复合语句,首行以关键字开始,以冒号(:)结束,该行

2012-11-29 14:28:51 398

原创 Python学习笔记 01 快速入门

1、Python有两种提示符(>>>)和次提示符(…)。主提示符是解释器告诉你它在等待你输入下一个语句,次提示符告诉你解释器正在等待你输入当前语句的其他部分。2、Python有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。语句使用关键字来组成命令,类似告诉解释器一个命令。语句可以有输出,也可以没有输出。经典的编程实例,Hello World。>>> print 'H

2012-11-29 14:28:48 351

职位管理Excel

职位管理的Excel

2017-05-05

scala plugin for idea

scala plugin for idea 在线安装太慢,推荐使用此离线包 2016.12.12最新更新

2016-12-19

thinkphp_todolist

todolist,使用PHP编写。上次的代码有误,请管理员代为删除。

2016-11-21

todolist_thinkphp

todolist,thinkphp开发。

2016-11-17

dwzteam-dwz_group-master

DWZ框架 + ThinkPHP 实现小组工作日志系统 含登录,验证码模块,直接可用。

2016-11-10

daily planner

每日计划,Excel实现,美观大方,不用宏

2016-10-25

calendar template

每年的日历模板,神器~ 不用宏实现,简洁美观

2016-10-25

《Scala编程》

Scala编程完美目录版,非常经典的Scala参考书。

2016-10-08

《快学Scala》

快学scala中文pdf完美目录版,最好的scala入门书籍。

2016-10-08

Spring揭秘

没有教程似的训导,更多的是说故事般的娓娓道来,本书是作者在多年的工作中积累的第一手Spring框架使用经验的总结,深入剖析了Spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘面纱,使你“知其然,更知其所以然”。每部分的扩展篇帮助读者活学活用Spring框架的方方面面,同时可以触类旁通,衍生出新的思路和解决方案。, 本书内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的Spring图书。

2016-09-11

Spark经典论文合集

An Architecture for Fast and General Data Processing on Large Clusters.pdf Discretized Streams An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters.pdf Discretized Streams Fault-Tolerant Streaming Computation at Scale.pdf GraphX Unifying Data Parallel and Graph Parallel.pdf Resilient Distributed Datasets A Fault-Tolerant Abstraction for In-Memory Cluster Computing.pdf Shark Fast Data Analysis Using Coarse-grained Distributed Memory.pdf Shark SQL and Rich Analytics at Scale.pdf Spark Cluster Computing with Working Sets.pdf Spark SQL Relational Data Processing in Spark.pdf spark.pdf 大型集群上的快速和通用数据处理架构.pdf

2016-09-07

空空如也

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

TA关注的人

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