自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (6)
  • 问答 (5)
  • 收藏
  • 关注

原创 Java基础 - 堆树(Heap)

package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;/** * @author wb * @param * * * 堆(Heap)的定义为:堆是一棵二叉树,而且根的关键字大于子树的关

2016-11-28 14:08:14 1028

原创 Java基础 - 哈夫曼编码

根据哈夫曼树可以解决报文编码问题。假设需要对一个字符串如“abcdabcaba”进行编码,将它转化为唯一的二进制码,但要求转换出来的二进制码长度最小。假设每个字符在字符串中出现的频率为W ,其编码长度为L ,编码字符有N 个,则编码后二进制码额总长度为W1L1 + W1L2 + W3L3 + …… + WNLN,这正好符合哈夫曼树的处理原则,因此可以采用哈夫曼树的原理构造二进制码,并使电文总长

2016-11-25 22:35:07 1123

原创 Java基础 - 哈夫曼树及其实现

哈夫曼树又被称为最有二叉树,是一种带权路径最短的二叉树。

2016-11-25 21:53:06 702

原创 Java基础 - 红黑树

package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;/** * @author wb * @param * * 排序二叉树虽然可以快速检索,但在最坏的情况下,如果插入的节点集本身就是有序

2016-11-24 16:11:08 598

原创 Java关键知识点 - JDK HashMap工作原理分析

这个时候就出现了哈希表这种数据结构。这是一种折中的方式,插入没链表快,查询没数组快。

2016-11-23 15:08:08 387

原创 Java基础 - 多叉树、森林和二叉树之间的转换

/** * @author wb * * 森林、树和二叉树之间的转换 * 有序树、森林和二叉树之间有一一映射的关系,可以相互转换。 * 多叉树向二叉树转换的方法如下: * (1)加虚线:同一个父节点的相邻兄弟节点之间加虚线。 * (2)抹实线:每个节点只保留它与最左子节点的连线,与其他子节点的连线都抹掉。 * (3)虚改实:虚线改为实线。 * 例如,如图所示就是多叉树向二叉树转换

2016-11-22 16:26:35 1694

原创 Java关键知识点 - Java final关键字到底修饰了什么?

final 使得被修饰的变量“不变”,但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身不变和引用所指的对象不变。

2016-11-22 00:32:40 426

转载 Java基础 - java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制)

转载出处(请尊重原创!谢谢~): http://blog.csdn.net/javazejian/article/details/53073995 为什么需要迭代器Iterator迭代器Iterator的简单实现迭代器Iterator与集合间存在的问题理解快速失败机制fast-fail机制 进化版的ListIterator接口 改良的MyArraryLi

2016-11-22 00:06:40 536

原创 Java基础 - 排序二叉树(二叉查找树)

package com.yc.tree;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;/** * * @author wb * * 排序二叉树是一种特殊的二叉树,通过它可以非常方便地对树中的所有的节点进行排序和检索。

2016-11-21 01:14:58 470

转载 Java技术 - Java泛型详解

1.为什么需要泛型泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇将立足于代码介绍、总结了关于泛型的知识。希望能给你带来一些帮助。先看下面的代码:List list = new ArrayList(); list.add("CSDN_SEU_Cavin"); list.add(100); for (int i = 0; i list.si

2016-11-19 03:16:02 476

原创 Java基础 - 二叉树的遍历之广度优先遍历

package com.yc.test;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;import com.yc.tree.ThreeLinkBinTree;import com.yc.tree.ThreeLinkBinTree.

2016-11-19 03:11:07 1333

原创 Java基础 - 二叉树的遍历之深度优先遍历(非递归遍历)

package com.yc.test;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.List;import com.yc.tree.ThreeLinkBinTree;import com.yc.tree.ThreeLinkBinTree...

2016-11-19 03:06:05 467

原创 Java基础 - 二叉树的遍历之深度优先遍历(递归遍历)

深度优先遍历:这种遍历算法将先访问到树中最深层次的节点。

2016-11-17 22:52:56 533

原创 Java基础 - 二叉树的二叉链表存储

二叉链表存储的思想是让每个节点都能“记住”它的左、右两个子节点。为每个节点增加left、right两个指针,分别引用该节点的左、右两个子节点。

2016-11-09 20:04:19 975

原创 Java基础 - 二叉树的三叉链表存储

三叉链表存储的思想是让每个节点不仅“记住”它的左、右两个子节点,还要“记住”它的父节点,因此需要为每个节点增加left、right和parent 三个指针,分别引用该节点的左、右两个子节点和父节点。

2016-11-09 20:03:53 1232

原创 Java基础 - 二叉树的顺序存储

顺序存储指的是充分利用满二叉树的特性:每层的节点数分别为1,2,4,8,……,2^(i-1),一棵深度为 i 的二叉树最多只能包含2^i - 1个节点, 因此只要定义一个长度为2^i - 1的数组即可存储这棵二叉树。

2016-11-09 20:02:55 579

原创 Java基础 - 二叉树的概念

二叉树指的是每个节点最多只能有两个子树的有序树

2016-11-09 20:00:48 1931

原创 Java基础 - 树的概述

树是一种非线性结构。

2016-11-09 19:58:06 575

原创 Java基础 - 树的实现(二)子节点链表示法

父节点表示法的思想是让每个节点“记住”它的父节点的索引,父节点表示法是从子节点入手的;反过来,还有另外一种方式:让父节点“记住”它的所有子节点。在这种方式下,由于每个父节点需要记住多个子节点,因此必须采用”子节点链“表示法。

2016-11-09 19:57:07 536

原创 Java基础 - 树的实现(一)父节点表示法

通过前面的介绍可以发现,树中除根节点之外的每个节点都有一个父节点。为了记录树中节点与节点之间的父子关系,可以为每个节点增加一个parent域,用来记录该节点的父节点。对于如下图所示的数,可以用一个表(数组)来保存它。

2016-11-09 19:56:43 2805 2

原创 Java基础 - 队列的链式存储结构及实现

类似于使用链式结构保存线性表,也可以采用链式结构来保存队列的元素,采用链式存储结构的队列也被称为链队列。

2016-11-08 15:24:32 4076

原创 Java基础 - 循环队列及实现

为了重新利用顺序队列底层数组中删除所有元素所占用的空间,消除可能出现的“假满”现象,可以将顺序队列改进为循环队列。

2016-11-08 15:23:39 634

原创 Java基础 - 队列的顺序存储结构及实现

队列(Queue)另外一种被限制的线性表,它使用固定的一端来插入数据,另一端只用于删除元素。

2016-11-08 15:22:58 1803

转载 写好Java代码的30条经验总结

成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写s

2016-11-08 12:48:03 507

转载 编程思想之多线程与多进程系列(1)

线程优先级现在主流操作系统(如Windows、Linux、Mac OS X)的任务调度除了具有前面提到的时间片轮转的特点外,还有优先级调度(Priority Schedule)的特点。优先级调度决定了线程按照什么顺序轮流执行,在具有优先级调度的系统中,线程拥有各自的线程优先级(Thread Priority)。具有高优先级的线程会更早地执行,而低优先级的线程通常要等没有更高优先级的可执行线

2016-11-08 12:46:28 398

转载 13个不容错过的Java项目

今天我们将整理一大波干货满满的Java示例代码与能力展示素材。GitHub可谓一座程序开发的大宝库,有些素材值得fork,有些则能帮助我们改进自有代码或者学习编程技能。无论如何,开发工作当中我们几乎不可能绕得开GitHub。下面,我们将一同分享各有趣且颇为实用的Java库,大家请任取所需、不用客气~1.极致精简的JavaBootique是一项用于构建无容器可运行Ja

2016-11-08 12:45:23 410

原创 Java基础 - 栈的链式存储结构及实现

程序可以采用单链表来保存栈中的所有元素,这种链式的栈也被称为链栈。

2016-11-08 12:44:07 909

原创 Java基础 - 线性表的分析

线性表的顺序和链式两种实现各有优势。具体对比如下表所示:顺   序   表链               表空间性能顺序表的存储空间是静态分布的,因此需要一个长度固定的数组,因此总有部分数组元素被浪费链表的存储空间是动态分布的,因此空间不会被浪费。但由于链表需要额外的空间来为每个节点保存指针,因此也要牺牲一部分空间时间 性能顺序表

2016-11-07 19:42:05 358

原创 Java基础 - 栈的顺序存储结构及实现

栈是一种数据结构,他代表只能在某一端进行插入、删除操作的特殊线性表,通常就是在线性表的尾端进行插入、删除操作。

2016-11-07 19:29:11 2266

原创 Java基础 - 线性表之链式存储结构-双向链表

如果为每个节点保留两个引用prev和next,让prev指向当前节点的上一个节点,让next指向当前节点的下一个节点,此时的链表既可以向后依次访问每个节点,也可以向前依次访问链表的每个节点,这种形式的链表被称为双向链表。

2016-11-06 16:10:39 481

原创 Java基础 - 线性表之链式存储结构-循环链表

循环链表是一种收尾相连的链表。将单链表的尾节点next指针改为引用单链表header节点。这个单链表就成了循环链表。循环链表具有一个显著特点:从链表的任意节点出发均可找到表中的其他所有节点,因此循环链表也可以被称为“无头无尾”。如下图所示:循环链表中的第一个节点之前就是最后一个节点,反之亦然。循环链表的无边界使得它实现法多方法时会更容易,在这样的链表上设计算法会比葡萄链

2016-11-05 15:07:11 435

原创 Java基础 - 线性表之链式存储结构-单链表

链式存储结构的线性表(简称为链表)将采用一组地址任意的存储单元存放线性表中的数据元素。链式存储结构的线性表不会按线性的逻辑顺序来保存数据元素,它需要在每个数据元素中保存一个引用下一个数据元素的引用(或者叫做指针)。

2016-11-05 15:03:05 516

原创 Java基础 - 线性表之顺序存储结构

线性表的顺序存储结构是指用一组地址连续的存储单元依次存放线性表的元素。当程序采用顺序存储结构来实现线性表时,线性表中相邻元素的两个元素ai和an+1对应的存储地址loc(ai)和loc(an+1)也是相邻的。

2016-11-03 15:51:18 550

原创 Java基础 - 线性表基本概念

从数据的逻辑结构来分,数据元素之间存在的关联关系被称为数据的逻辑结构。归纳起来,应用程序中的数据大致有如下四种基本的逻辑结构:1、集合:数据元素之间“同属于一个集合”的关系2、线性结构:数据元素之间存在一个对一个的关系。3、树形结构:数据元素之间存在一个对多个的关系。4、图状或网状结构:数据元素之间存在多个对多个的关系。对于常用的数据结构,可以将其简单地分为线性结构和非

2016-11-03 14:58:37 939

转载 在JAVA中ArrayList如何保证线程安全

保证线程安全的三种方法:不要跨线程访问共享变量使共享变量是final类型的将共享变量的操作加上同步一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.编写多线程程序, 首先保证它是正确的, 其次再考虑性能.无状态或只读对象永远是线程安全的.不要将一个共享变量裸露在多线程环境下(无同步或不可变性保护)多线程环境下的延迟加载需要同步的保护, 因为延迟加载

2016-11-03 11:17:35 17861 1

wine-mono-4.5.6.msi

wine的mono插件镜像

2019-02-05

emacs-25-x86_64-deps.zip

emacs-25 的 deps.zip 是让windows支持更多的gnu库,比如使得org-mode可以显示png格式的图片等。

2018-06-20

ajax+zTree 文件树

zTree的js和css文件 + 可供参考的demo的fileCatalog.js文件

2018-04-18

win64_ssl_curl 插件

解压后进入curl.exe所在目录,然后打开命令行,输入 curl -V 可查看适用协议。由于要适用协议https,所有还得安装Win64-openSSL

2018-03-16

redis-trib.rb

redis集群工具redis-trib.rb

2017-05-05

Redis-x64-3.2.100.zip

该压缩包为windows64位操作系统下的redis

2017-05-05

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

TA关注的人

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