自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

haoshen's blog

多多交流,共同提高

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

原创 用java源代码学数据结构<七>: BST

/* * 以int类为例 * 其它的类必须能够比较 * *///二叉搜索树的节点点 class BSTNode{ int item; BSTNode lc; BSTNode rc; BSTNode p; public BSTNode(int item){ this.item = item; } } public class BS

2013-10-29 15:01:00 1114

原创 用java源代码学数据结构<六>: HashSet HashMap 详解

散列表是数据结构中的重要技术,散列表的最大优点在于便于查找,缺点在于插入删除较为麻烦。java中很多数据类型如hashMap,hashTable,hashSet基本实现就是采用散列表技术。

2013-10-29 12:56:52 2178

原创 用java源代码学数据结构<五>: Stack 详解

Stack类较为简单,它的主要基础是先进后出,注意Stack继承自Vector类,所以它的内部实现基本上都是直接调用Vector的方法,难度较小。package java.util;publicclass Stack extends Vector { //无参构造函数 public Stack() { } /** * Pushes a

2013-10-28 19:20:49 1366 2

原创 用java源代码学数据结构<四>: LinkedList 详解

在数据结构中有基本数据类型:线性表。线性表又可以分为顺序表(数组表)和链表。java中典型顺序表有Vector和ArrayList,链表类就是LinkedList。      个人体会:      1.要想gc(垃圾回收器)回收对象,普通的对象只需要设置为null即可,而复合型对象(如Node),它包含两个指针对象和一个元素,必须全部设置为Null才能回收2.在链表节点进行prev、n

2013-10-28 10:37:45 2815 2

原创 用java源代码学数据结构<三>:ArrayList 详解

查看java文档可以知道,抽象类AbstractList有两个实现子类:Vector和ArrayList。二者的内部结构、基本方法大致相同.只不过Vector是线程安全的,ArrayList是不安全的。ArrayList相比于一般的Array,就是多了一个变长的功能,但相应的时间效率有所下降。        由于ArrayLIst和Vector很想,大部分代码基本一致,就不在提供详细的注释,可

2013-10-27 10:57:25 2235

原创 用java源代码学数据结构<二>: Vector 详解

/* 1.Vector可以随着用户插入或删除元素来改变自己的大小。 2.Vector类通过维护capacity(函数)和capacityIncrement(变量)来优化存储。 3.capacity总是至少和vector的size一般大(capacity>=size)。 4.通过在向vector插入元素之前增大capacity,可以减少很大的内存分配时间。*/package java.u

2013-10-27 00:15:39 2652 1

原创 用java源代码学数据结构<一>: Collection , Iterator

曾经某位大神说过:学习编程的最好方法就是看源代码。集合类无疑是学习数据结构好的原材料。开始准备用c++的STL,由于本人能力有限,看了下vc的STL源代码,什么一重指针,二重指针,n重指针漫天都是,所以只好放弃。java没有指针,学习难度无疑大大降低,STL就只有等以后能力提高点再说了。      集合类的源代码都可以在jdk安装目录下的src.zip文件中找到,由于篇幅有限,删除了大量非必要

2013-10-26 21:55:30 1490

原创 递归思想的使用之汉罗塔问题

递归,一句话概括就是:把大问题分解成结构类似的小问题,分解,计算小问题,再合并(即子函数的返回)。汉罗塔问题描述:有三个杆子,依次标记为A,B,C。还有n个大小不同的盘子,较大的盘子放在较小的盘子的下面,依次放置在A杆上,现在要通过若干次操作将所有盘子移到C杆上,且不能违反下列规则:1.每次只能移动一个盘子2.不允许大的盘子出现在小的盘子的上面下面我们来用递归的方法分析一下:

2013-10-26 16:58:06 1947

原创 递归和迭代的区别之我见

递归:当一个函数包含着对它自身调用时就称这个函数式递归的如典型的阶乘函数int func(int n){ //error detect if (n==1) { return 1; } return func(n-1)*n;}迭代就是不断的使用计算出来的结果来代替旧值int func(int n){ //error detect int resul

2013-10-26 16:07:22 1084

原创 c++和java中关于如何调用父类方法和子类方法的辨析

首先观察下面两个程序(分别使用vc6.0和myecllipse10测试)#include using namespace std;class A{public: void f() { cout<<"class A "<<endl; }};class B : public A{public: void f() { cout<<"class B "

2013-10-25 21:38:08 1572

原创 c/c++中const的常用方法

1.const修饰变量,变量的值不能改变如下面程序(vc6.0下测试)void main(){ const int a = 0; a = 1;}/*编译错误C:\Program Files\Microsoft Visual Studio\MyProjects\1\1.cpp(4) : error C2166: l-value specifies const objec

2013-10-25 20:56:47 1450

原创 操作系统中磁盘调度算法(FIFO,SSTF,SCAN,C-SCAN)

磁盘调度算法的数据比较                                                磁盘调度算法的描述                                            磁盘调度算法的直观比较

2013-10-24 20:47:55 23246 2

原创 操作系统进程调度算法图解(FCFS、轮转、SPN、SRT、HRRN、反馈)

FCFS: 先来先服务,也可以称为先进先出轮转: 以一个周期性间隔产生时钟中断,此时当前正在运行的进程被置于就绪队列,基于FCFS选择下一个就绪进程             运行。SPN:最短进程优先,下一次选择所需处理时间最短的进程SRT:最短剩余时间优先,总是选择预期剩余时间最短的进程HRRN:最高响应比优先,R=(w+s)/s,其中R表示响应比,w表示已经等待的时间,s表示期

2013-10-24 20:39:41 23751 3

原创 操作系统虚拟内存中的四种典型页替换算法(OPT,LRU,FIFO,Clock)

页面置换:在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断(page fault)。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。  典型的置换算法有四种,如下所示: OPT:最佳替换算法(optional replacement)。替换下次访问距当前时间最长的页。opt算法需要知道操作系统将来的事件,显然不可

2013-10-24 20:10:52 39048 16

原创 java中普通变量、静态变量、静态代码块初始化的顺序辨析

1.普通变量的初始化看如下程序class Window{ public Window(int maker) { System.out.println("Window("+maker+")"); }}class House{ Window w1 = new Window(1); public House() { System.out.println("House(

2013-10-24 12:51:30 5942 3

原创 java中“0x”表示的含义

public class Test { public static void main(String[] args) { int a = 0x2f;//小写十六进制(等价于0x002f) System.out.println(Integer.toBinaryString(a)); int b = 0x2F;//大写十六进制 System.out.println(I

2013-10-23 22:37:19 28252

原创 java中"<<",">>",">>>"等左移右移符号辨析

java中有以下移位运算规则:"public class Test { public static void main(String[] args) { int a = -1; System.out.println(Integer.toBinaryString(a)); a <<= 2;//a左移两位 System.out.println(Integer.t

2013-10-23 22:21:53 1176

原创 java中"=="与"equals"辨析

首先看下面两个例子public class Test { public static void main(String[] args) { Integer n1 = new Integer(10); Integer n2 = new Integer(10); System.out.println(n1==n2); System.out.println(n1.equal

2013-10-23 21:24:22 887

原创 学会vi必须知道的命令

h j k l 左下上右w b 向前向后一个单词0 $ 行头  行尾1G 跳到第一行 只按G跳到文件末尾行c 更改cc 更改一整行cw 从光标到这个单词的结尾c2b 从光标到前两个单词c$ 从光标到本行结尾(删除当前光标到结尾之间的内容)c0 从光标到此行的开头r 更改一个字符ra 将当前光标字符改为ad 删除命令dd 删除一行dw 删除一个

2013-10-19 16:31:37 852

编译后的hadoop-2.7.3-src.tar.gz

在centos7下,使用mvn,jdk 1.8.0_65,protoc 2.5.0,执行mvn install,以及mvn eclipse:eclipse -DskipTests之后的压缩文件。 可以导入到eclipse项目中,有可能报错

2016-11-28

Java 俄罗斯方块

参照网上小翼的教程做的。由于ps能力不足,所以没有实现换皮肤的功能,其他功能都实现了

2015-03-28

机器学习实战源代码

Peter Harrington的机器学习实战《Machine Learning in Aciton》源代码

2014-05-17

呕心沥血的java复杂聊天室(包括自定义应用层协议、CS多线程、多客户端登录、上下线提醒等等)

呕心沥血的java复杂聊天室(包括自定义应用层协议、CS多线程、多客户端登录、上下线提醒等等)。

2014-05-09

基于情感字典的文本分析系统

基于情感字典的文本分析系统。使用插件ICTCLAS,TinyXML等

2013-11-21

java的API,1.6

java API for JDk 1.6 and up

2011-11-19

如何在eclipse中添加相关文件

eclipse中添加.class文件以及相关文件的导入。新手必备

2011-11-19

指针于函数的调用以及直撞地

指针于函数的调用以及直撞地指针于函数的调用以及直撞地指针于函数的调用以及直撞地

2011-05-20

编程中的内存划分及管理使用

编程中的内存划分及管理使用,了解编程的实质运行情况

2011-05-20

华为的编程规范()助于将来工作上的需要)

华为的编程规范()助于将来工作上的需要,商业上的规范,从小养成编程好习惯

2011-05-20

程序设计基础教程PPT全集

程序设计基础教程PPT全集,好的没话说,C中的重要部分基本上都讲了

2011-05-20

windows平台下的链表管理程序

windows平台下的链表管理程序,简述链表的基本操作及详细介绍,利于理解

2011-05-19

基于VC平台下的电话簿管理程序

基于windows平台下的电话簿管理系统,可增加,查询,删除,显示,打电话等功能

2011-05-19

小精灵游戏程序(VC条件下C语言编写)

C语言写的小精灵程序(附详解),小精灵可以吃豆子,类似的可以编出贪吃蛇及俄罗斯方块等小程序

2011-05-19

空空如也

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

TA关注的人

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