自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 linux系统命令总结(二)

linux文件与目录管理1、绝对路径与相对路径 1)、绝对路径:是以根/起头的文件或者路径,格式由根以及其下的文件或目录组成,/home/user; 2)、相对路径:相对当前的路径的文件的路径,格式../fileName, 2、操作目录命令 1)、cd:切换目录change directory 2)、pwd:显示工作目录print working directory 3)、mkdi

2017-06-08 21:05:51 251

原创 linux系统命令总结(一)

linux系统命令总结(一)1、[ctrl]+[alt]+[F1]切换tty1的界面登录 2、linux一般的命令形式 command [-options] parameter1 parameter2 …    命令           选项        参数(1)   参数(2) 3、基础命令 1)、显示日期与时间的命令:date 2)、显示日历的命令:cal 3)、显示计算

2017-06-06 20:30:59 311

原创 归并算法--MergeSort

三国有云:天下大势分久必合,合久必分。 归并算法就充分表象了这一点,归并算法的基本思想就先将大数组分成小数组,再将小数组分成可以比较大小的两元数组,之后就是合的过程;合的过程中是要对元素进行排序的,两个较小的数组各元素比较后重新排序,再添加到大的数组上,直到合并完成。还是有图好分析问题: 百度了一下归并算法,里面只描述归并算法的下半部分,其实分的过程也挺重要,如果不分到最底层,就合得到的结果

2016-03-28 21:36:30 379

原创 希尔排序--ShellSort

希尔排序是插入排序的一种,在进行算法编写的时候会多次调用到插入排序。希尔排序的核心点就是缩小增量级。 那么怎么去缩小增量级呢? 通常都是用数组的长度除二得到第一增量级first(array.length/2),然后通过first/=2去循环得到其他的增量级,直到增量级等于一。当然取增量级的方式不尽相同,当根据具体的情况而定。为了清晰的表述,算法的具体思想,我习惯通过图的方式去理解,这样思路会变的

2016-03-23 10:27:28 326

原创 选择排序--SelectSort

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。 具体的流程如图: 具体代码实现:public class SelectSort implements Sort { public void sort(int[] data) { for (int i = 0; i < data.length; i++)

2016-03-19 00:21:55 334

原创 改进后的快速排序--ImprovedQuickSort

对于快速排序的改进,通常可以从以下几个方面入手1、切换到插入排序。当数组比较小,插入排序性能要优于快速排序2、三取样切分。使用子数组的一小部分元素的中位数来切分数组。3、三向切分。将数组切分成三个部分,分别对应小于、等于和大于切分元素的数组。三向切分的具体实现步骤1、选取随机数作为枢轴。2、使用左端,右端和中心的中值做为枢轴元。3、每次选取数据集中的中位数做枢轴。

2016-03-13 11:13:56 421

原创 快速排序--QuickSort

快速排序是对冒泡排序的一种改良。它的基本思想是:通过一趟排序将要排序的数据分割成两个独立的部分,其中一部分的所有数据都比另一个部分的所有数据小,然后再按此方法对两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。一趟快速排序的算法是:1)设置两个变量low、hight,排序开始的时候:low=0,hight=N-1;2)以第一个数组元素作

2016-03-11 20:37:54 386

原创 冒泡排序--BubbleSort

冒泡书法的操作步骤:1、比较相邻的元素;如果第一个比第二个大,就交换他们;2、对每一个相邻元素做同样对的工作,从开始第一对到结尾最后一对。在这一点,最后的元素应该会是最大的数3、针对所有元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较冒泡排序的时间复杂度:冒泡排序总的平均时间复杂度为  J

2016-03-08 23:20:00 436

原创 算法学习----->Insertsort(插入排序)

开启算法学习模式,我想看看在这条路上我能坚持多久,每天学习一点点算法,看看做到什么程度才能与现在有所不同。每天的学习任务我也不想搞得太多,能学习多少就写多少算法博客,今天就学习了Insertsort----->插入排序首先简单的理解一下插入排序的基本思想:一个混乱的排列,首先让它的第二项与第一项排序得到一个有序的排列;然后从混乱的队列中抽取第三项,在于已经排序好的排列中的每一项比较

2016-02-29 22:48:12 448

原创 总结

这次测试后发现之前学习的很多东西都忘记了,很多题目都不会做了。反应出的问题:第一、之前学习的时候,对知识缺乏理解,没有将知识点融会贯通;第二、学习了很多的知识之后,没有对重点难点知识进行总结;第三、长时间不学,很多的知识点都已经忘记说明学习之后,就很少去复习;虽然,“don't say it,just do it”很适合程序员的生活方式,但是如果不去将一些重

2015-11-28 13:34:31 316

原创 观察者模式

首先从结构上认识观察者模式:1、抽象主题角色主题角色把所有对观察者对象的引用保存在 一个容器里,每个主题可以有任何数量的观察者。2、抽象观察者角色为所有的具体观察者定义一个接口,得到主题的通知时更新自己。3、具体主题角色将有关对象存入具体观察者对象;在具体主题内部改变时,给所有登记过的观察者发出通知。4、具体观察者角色存入与主题状态自适的状态。j

2015-04-14 11:59:56 385

原创 装饰者模式

通俗的说明一下装饰者模式。举一个平常生活中的例子衣服,我们都知道衣服有不同的颜色,假设衣服初始颜色是纯洁的白色,现在我们要对这衣服装饰的更加漂亮,这时我们需要加入其他的颜色进行装饰,这些颜色可以是红色、蓝色、绿色等等。根据装饰者模式的原理我们可以从以上的例子中抽象出各种角色出来。首先被装饰者:衣服被装饰者实体:白色的衣服装饰者:颜色(红、蓝、绿等等)装饰者实体:在白衣服的基础上天了

2015-04-10 15:14:48 390

原创 单例模式

一、两种常见的单例模式1、饿汉式单例模式public class Student { private static Student student = new Student(); public static Student getStudent() { return student; } private Student() { }}2、懒汉式单例模式pu

2015-03-30 16:34:28 302

原创 哈夫曼树(huffmTree)

一、感想古有云:“观千剑而后识器,操千曲而后晓声”。数据结构写过后,感觉要快速的编写出代码还是有难度的。之所以会出现这种情况不是不了解这种数据结构,而是不太会将一种逻辑结构快速的转化为代码的形式编码出来,所以数据结构的编码就变得重要了,能清晰的快速的编写出一种数据结构,就能很好的操作多种逻辑关系了。数据结构里面包含的关系太多了,对知识点的运用也是相当多的,清晰的掌握基本的数据结

2015-02-07 00:10:34 593

原创 JTable学习

一、通过实现TableModel实现JTable的制作TableModel接口有一下可实现的方法 @Override public int getRowCount() { //得到行总数 } @Override public int getColumnCount() { //得到列总数 } @Override public Class getColumnClass(int

2015-02-05 15:39:07 497

原创 单链表和双链表

1、单链表一、定义自己的单链表:public interface MyList { // 获取链表的长度 public int size(); // 添加元素 public void add(String value); // 得到指定位置的元素 public Node get(int index); // 在指定位置添加元素 public void add(String

2015-02-04 13:54:25 350

原创 树的学习<一>-----二叉树的遍历

一、树的基本知识点根节点:没有父节点的节点子节点:子节点是相对父节点的概念,较上一级低一级的节点叶子节点:没有子节点的节点二、二叉树的分类三、遍历树的方式先序遍历:先根节点开始遍历,再遍历左节点,最后遍历右节点;中序遍历:先左节点开始遍历,再遍历根节点,最后遍历右节点;后序遍历:先左节点开始遍历,再遍历右节点,最后遍历根节点;1、

2015-02-04 12:04:45 282

原创 线程学习一

线程的模型线程的五种状态1、新建状态2、就绪状态3、运行状态4、阻塞状态 5、死亡状态最常见的两种1、继承Thread类使用情况:Java中只支持单继承,但一个类只要求实现单一的线程功能是可以继承Thread类,当然也可以实现Runnable接口。2、实现Runnable接口 使用情况:当一个类已经继承了某个了,但又要实现线程功能

2015-01-22 19:46:02 303

原创 集合框架

一、Collection、List、Set、Map之间的关系图:二、测试是List、Set、Map三大容器的基本特性1、List的底层是数组;2、Set的底层是链表;3、Map的底层是Map的底层结构就是:数组+链表;、测试类代码:、测试List的基本特点的代码:特点描述:List数组是有序、可重复的。(1)、对ArrayList()的测试:

2014-12-12 19:05:12 516

空空如也

空空如也

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

TA关注的人

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