自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tuke_tuke的博客

在该奋斗的年龄不要选择安逸!

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据结构之排序算法(四)-归并排序

归并算法排序的思想:把原始数组分成若干子数组,对每一个子数组进行排序,继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组。总结一句话就是:将数组不断的分成两半,直到每个子数组只包含一个元素,然后将这些小的子数组归并为稍大的有序子数组,直到最后形成一个有序的数组。算法图解是:MergeSort.javapublic class MergeSort {//

2015-12-25 15:38:13 1613 1

原创 数据结构值排序算法(三)-快速排序

基本思想:快速排序采用的思想是分治思想。第一趟排序:快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归排序:第二步就是对高段位和地段为两部分进行递归排序。一趟快速排序的算法的步骤是:1)设置两个变量low、high,排

2015-12-23 11:17:37 8215 1

原创 数据结构之排序算法(二)-冒泡排序及改进

冒泡排序算法需要遍历几次数组。每次遍历都要比较连续相邻的元素,如果某一对相邻元素是降序,则互换它们的值,否则,保持不变。由于较小的值像“气泡”一样逐渐浮想顶部,而较大的值沉向底部,所以叫冒泡排序。冒泡排序的图解是:总结一句话就是:连续比较相邻的元素,降序则呼唤。有n个数,共需要比较n-1趟,第i趟,需要比较n-i次。BubbleSort.javapublic class B

2015-12-21 15:10:06 4609

原创 数据结构之排序算法(一)-堆排序

继上篇文章讲到堆的实现之后http://blog.csdn.net/tuke_tuke/article/details/50357939,下面可以使用堆来实现堆排序。在堆的基础上实现堆排序的思路很简单:(这里使用最小堆,当然最大堆也可以)   最小堆MinHeap就是最小的数在堆的根元素的位置。首先把一组数建堆,然后再不断的移除堆的根元素,由于每次移除的根元素都是现有堆的最小元素,故可得到

2015-12-21 14:03:59 1653

原创 数据结构-二叉树和二叉查找树

先按树-二叉树-二叉查找树的顺序解释会比较清楚。一,树树(Tree)是n(n≥0)个结点的有限集。在任意一棵非空树中:(1)有且仅有一个特定的被称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。结点的度(Degree):结点拥有的子树数称为结点的度(De

2015-12-20 17:44:30 6804

原创 数据结构-堆实现优先队列(java)

队列的特点是先进先出。通常都把队列比喻成排队买东西,大家都很守秩序,先排队的人就先买东西。但是优先队列有所不同,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取出。这就很像堆的特征:总是移除优先级最高的根节点。重点:优先级队列,是要看优先级的,谁的优先级更高,谁就先得到权限。不分排队的顺序!上篇文章解释了堆的概念实现,现在用堆实现优先队列://最大

2015-12-19 15:56:20 5622 1

原创 数据结构-堆的实现

堆本质是一棵二叉树,其中所有的元素都可以按全序语义进行比较。用 堆来进行存储需要符合以下规则:1.元素可比较性:数据集中的元素可以进行比较,就是要实现Comparable接口;。2.节点最大/最小性:每个节点的元素必须大于或小于该节点的孩子节点的元素;3.堆是一棵完全二叉树。堆有两种:最大堆和最小堆。最小堆中每个节点的优先级小于或者等于它的子节点;最大堆则相反,每个节点

2015-12-19 14:13:39 9282 1

原创 数据结构-队列

栈是“后进先出”(LIFO,Last InFirst Out)的数据结构,与之相反,队列是“先进先出”(FIFO,First InFirst Out)的数据结构。队列特性:下面我们使用数组作为底层容器来实现一个队列的操作封装,与栈不同的是,队列的数据项并不都是从数组的第一个下标开始,因为数据项在数组的下标越小代表其在队列中的排列越靠前,移除数据项只能从队头移除,然后队头指针后移。

2015-12-17 16:34:54 1071

原创 数据结构-栈

栈只允许访问一个数据项:即最后插入的数据。移除这个数据项后才能访问倒数第二个插入的数据项。它是一种“后进先出”的数据结构。栈最基本的操作是出栈(Pop)、入栈(Push),还有其他扩展操作,如查看栈顶元素,判断栈是否为空、是否已满,读取栈的大小等实现栈的方法有两种:1,栈的ArrayList实现,底层是数组import java.util.ArrayLi

2015-12-15 11:23:44 802

原创 数据结构-冒泡排序

public class BubbleSort {//时间复杂度O(n^2) //冒泡排序 public static void bubbleSort(int[] list){ int n=list.length; for(int i=1;i<n;i++){//总共比较n-1趟 for(int j=0;j<n-i;j++){//第i趟比较n-i次 if(list[j]>l

2015-12-13 11:27:40 641

原创 LinkedList的双向迭代器listiterator

import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.ListIterator;public class testArrayAndLinkedList { public static void main(String[] args) { // TOD

2015-12-10 20:59:46 4470

原创 java集合框架LinkedList类的方法理解

java提供的LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是 List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色 些。

2015-12-10 20:56:09 2132 4

原创 链表用java实现简单单链表linkedlist

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。每个结点包括两个部分:1是存储数据元素的数据域data2是存储下一个结点地址的指针域p。相比于线性表的优点:插入和删除结点方便。(插入删除的图都不画了,办公软件不好用)这里是对单链表的理解,并用java的泛型实现,当然与java集合提供的API  LinkedList还是有

2015-12-10 20:12:56 3847 1

Gson-2.5.jar

2016-05-31

apache poi包,处理excel

apache poi包,处理excel的包

2015-12-13

空空如也

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

TA关注的人

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