自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hll174

没有一开始的大牛,先做好自己的小菜

  • 博客(19)
  • 资源 (17)
  • 收藏
  • 关注

原创 B树(B-树)、B+树、AVL树、B*树

看数据结构的时候经常容易被各种树绕晕,所以重新整理下这些 纠结树。1,B树(B-树)注意,好多地方都喜欢说B-树,给人一种错觉B-树与B树是两种数据结构,其实是一种。外文翻译的时候B-tree,有的人喜欢翻译成B-树,有的翻译为B树,所以才造成了这样的错觉。先看看B树的数据结构:这是从july算法的博客中拿过来的一个图定义为: 一颗m阶的B树

2016-03-23 20:33:30 1111

原创 常见内排序算法的java实现

先把结果放在前面,这样每次看到就能熟悉一次。排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。  内排序有可以分为以下几类:  (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。  (2)、选择排序:简单选择排序、堆排序。  (3)、交换

2016-03-10 11:35:16 759

原创 表示数值的字符串---JAVA版

题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。分析:      这题条件有点多,从最后的测试用例可以知道 "600."这种形式是算true的具体的条件是:  

2016-03-28 22:31:11 1050

原创 正则表达式匹配-剑指offer(JAVA版)

题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 分析:递归实现每次分别在str 和pattern中取一个字

2016-03-28 21:15:04 3990 2

原创 二叉搜索树与双向链表(java版)

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。分析:     对于二叉搜索树,用中序搜索算法挺适合。考虑每个子树子节点作为三部分,这里以根结点为特殊例子进行阐述递归实现,每次用一个lastNode存放上一个子树的最后一个结点,该结点是上个已排好子树的最大的结点。

2016-03-27 22:18:48 2216 3

转载 TCP/IP协议三次握手与四次握手流程解析

一、TCP报文格式  TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。  (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+

2016-03-27 00:02:12 456

原创 链表中环的入口结点

题目描述一个链表中包含环,请找出该链表的环的入口结点。分析:此题说明了单链表中一定有环,且只有一个环,一般做法都是用快慢指针来进行跑,由于有环就不去判断是否有环慢指针速度为1,块指针速度为2,第一次相遇后停止,让慢指针回到头,再次都以速度1开始跑,再次相遇的地点即为链表的环的入口点。数学证明公式如下:       第一次相遇时:        慢

2016-03-26 13:26:00 431

原创 丑数(JAVA)

题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。分析:根据丑数的定义,丑数只能被2、3和5整除。也就是说如果一个数如果它能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;如果能被5整除,就除以连续5。如果最后我

2016-03-24 22:52:12 4014 1

原创 整数中1出现的次数(从1到n整数中1出现的次数)

题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数public class Solution { public int NumberOf1

2016-03-23 23:20:14 468

原创 字符串的排列组合

题目来自剑指offer题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.ArrayList;

2016-03-23 21:40:41 1113

原创 网易2016软件工程师笔试题-----[编程题] 奖学金(JAVA实现)

小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。输入描述:第一行三个整数n,r,

2016-03-22 16:11:26 2268

转载 从集合的resize看Java HashMap的死循环

问题的症状从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。

2016-03-17 17:09:31 2721

转载 从java多线程内存模型说到ConcurrentHashMap

ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在get

2016-03-17 16:21:23 1523

原创 Vector源码分析

Vector简介    Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。    Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。Vector源码剖析    Vector的源码如下(加入了比较详细的注释):

2016-03-16 17:41:35 579

原创 LinkedList源码分析

一、源码解析    1、 LinkedList类定义。 public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable LinkedList 是一个继承于AbstractSequ

2016-03-16 11:32:06 375

原创 ArrayList源码分析

一、 ArrayList概述:  ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。     ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurr

2016-03-15 23:06:30 463

原创 HashSet源码分析

一、  HashSet概述:   HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 HashSet set=new HashSet(); set.add(null);//不报错,因为底层是hashmap key值允许null二、  HashSet的实现:

2016-03-15 22:03:54 418

原创 HashMap源码分析

考研时候数据结构中有对hash表算法的图示,最近在看hashmap的时候仔细看了下源码,同时结合了网上的资料重新再对hashmap整理了一下,梳理下记忆。

2016-03-06 18:12:26 929 2

原创 Java transient关键字使用

在看hashmap源码分析的时候,看到了关键字transient的使用,自己对这个貌似接触的较少,有人说是在对象实现serilizable序列化的时候,用这个关键字可以屏蔽一些不需要在网络传输的字段属性,比如用户名和密码,对于对象的属性的传输只会在用户的内存中进行,不会具体保存在磁盘。具体的看到一篇文章,如下:1. transient的作用及使用方法      我们都知道一个对

2016-03-05 23:40:41 458

数据结构与算法描述c++版本

Mark Allen Weiss著作中文版,学习c++比较经典的数据结构书籍,总结与分析比较全面,其数据结构的思路很多地方都可用到,

2017-10-22

spring-framework-3.2.17.RELEASE官方源码

github上的下载好慢

2016-05-11

排序算法的java源码

排序算法的java源码

2016-03-10

spring实现JavaMail邮件发送教程

关于spring实现的JavaMail邮件发送教程,非常详细

2015-12-27

Android控件大全

Android控件大全 详细介绍各种资源控件的使用 比较不错

2015-07-02

Android编程权威指南

Android编程权威指南,经典的权威教材 值得大家下载

2015-07-02

14天学会安卓开

14天学会安卓开发,新手入门必看

2015-05-21

安卓开发入门教程

Android开发入门教程,新手们值得看看

2015-05-21

java实现的数据结构与算法

用Java实现的数据结构的算法和一些时间复杂性、空间复杂性的相关说明,比较完整

2015-04-11

PHP+MYSQL动态网站开发与全程实例

PHP+MYSQL动态网站开发与全程实例课件+源码

2015-03-23

PHP和MySql Web开发

PHP和MySql Web开发原书第四版的pdf和源代码

2015-03-23

window环境下安装LAMP的一些包

PHP APACH libmysql.dll的一个工具包集合,本人亲测成功可用

2015-03-14

OPEN_GL NeHe教程源代码

OPEN_GL NeHe教程源代码 1-48课的所有完整代码 直接运行

2014-12-12

开发帮助文档

帮助文档,方便在开发时候进行各种资料的查找整合之类的

2014-07-07

tomcat7.0安装教程

tomcat7.0和8.0版本的安装配置问题是差不多的,网上的都是有快捷安装图标的,本文档是无图标启动的方式的

2014-06-03

word 分隔符与分页符的使用

关于word里面的分隔符排版问题,主要是利用分隔符去掉空白页.

2014-06-03

空空如也

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

TA关注的人

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