自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于java中private、protected、friendly、public作用域探讨

最近遇到关于类中出现protected的问题,令我百思不得其解,随即在网上查找关于作用域的文章,发现描述的都是棱模两可,在这我想向大家详细赘述子问题。注: friendly表示属性或者方法前面不加另外三个关键字接下来我们进行一系列的测试:对于本类就不描述了,这4个都可以为所欲为重点说明的就是同一个package、不同的package、同一个package的子孙类、不同的package的子孙类上代码...

2018-06-22 10:25:19 489

原创 算法排序总结

当排序的数组已经是有序的情况下:    插入排序算法就会退化到O(n)这个级别    如果快速排序没有进行优化的情况下,可能会退化到O(n^2)的级别总体而言,快速排序是更加快的算法,一般系统级别的排序都是使用快速排序,如果有可能会有重复键值,会采用3路的快速排序。插入排序、快速排序和堆排序都可以直接在数组上交换元素来进行排序,归并排序需要开辟额外的空间。对于插入排序和堆排序而言,在排序过程中只需...

2018-06-22 08:57:19 126

原创 数据结构(java语言描述) --堆

堆是一棵完全二叉树,堆的每个父节点的值都大于等于子节点的值。或者我们用数组来存储二叉树。public class MaxHeap<E extends Comparable<E>> { private Array<E> data; public MaxHeap(int capacity){ data = new Array&lt...

2018-06-15 00:22:16 226

原创 数据结构(java语言描述)--Trie字典树

字典如果有n个条目,使用树结构,查询的复杂度是O(logn),假设要查询一百万个条目,则需要大约log2^20,也就是20。Trie查询每个条目的时间复杂度和字典中一共多少条目无关。时间复杂度为O(w),w为单词的长度,大多数的单词的长度比10要小。...

2018-06-14 17:33:05 144

原创 数据结构(java语言描述) --映射

映射存储(键,值)数据对的数据结构(key, value)根据键,寻找值新建一个map的抽象类public interface Map<K, V> { void add(K key, V value); boolean contains(K key); V get(K key); void set(K key, V newValue); ...

2018-06-14 15:40:58 357

原创 数据结构(java语言描述) --集合

之前实现的二分搜索树是不会存放重复元素的。因此可以实现集合的底层数据结构。在此之前我们新建一个FileOperation类,来导入文件。import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.uti...

2018-06-14 11:23:59 1193

原创 数据结构(java语言描述)--队列

队列的特点是先进先出。我们将以之前写的链表和动态数组为基础,编写不同的queue基于array的arrayqueuepublic class ArrayQueue<E> implements Queue<E> { private Array<E> array; public ArrayQueue(int capacity){ ...

2018-06-14 01:47:39 222

原创 数据结构(基于java语言描述)--栈

栈的特点:后进先出栈是一种线性结构相对数组,栈对应的操作是数组的子集只能从一端添加元素,也只能从一端取出元素这一端称为栈顶首先,创建栈的抽象类public interface Stack<E> { int getSize(); boolean isEmpty(); void push(); E pop(); E peek();}下面建立的两个...

2018-06-13 20:01:43 196

原创 数据结构(基于java语言描述) --AVL树

平衡树的定义:任意一个节点,其两个子树高度差不超过1import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class AVLtree<K extends Comparable<K>, V> { private class Node{ ...

2018-06-13 17:15:07 136

原创 数据结构(基于java语言描述) --二分搜索树

基于二叉树的二分搜索树,可以更高效对数据进行查询。

2018-06-13 11:15:32 312

原创 数据结构(基于java语言描述) --链表

数组是固定的容量,或者动态数组的扩容、缩容依赖于某个固定函数,而链表则是可以真正的做到动态扩充,它是真正的动态数据结构!在链表中,数据储存在“节点”中。就像破案一样,当你准备破案,就要尽行分析,你试着找着这个案件的线索点(节点),找到了,发现该线索点里面有着破除案件的一部分信息(节点里面存储的属性),还储存着指向下一个线索点(节点)的信息,就这样你又顺着线索点继续寻找,又获得了一份信息和下一个线索...

2018-06-12 12:45:34 197

原创 数据结构(基于java语言描述)--动态数组

话不多说,让我们先上代码注:构建数组所存储的元素可能为String、Integer等不同的类型,所以我们有必要设置一个泛型,让数组可以容纳我们调用时所规定的数据类型。public class Array<E>{    private E[] data;    private int size;    //有参构造函数,传入数组的容量为capacity;    public Array(...

2018-06-12 10:14:00 155

空空如也

空空如也

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

TA关注的人

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