- 博客(6)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 数据结构之队列
基本概念队列是一种基本的数据结构,它在结构两端都有限制,插入只能在一段进行,而删除只能在另一端进行。允许删除的一端叫队尾,允许插入的一段叫队头。队列拥有先进先出的特点,又称为FIFO表。 代码实现 队列根据其内部实现方式的不同,分为用链表实现的链队和用数组实现的顺序队。链表实现:public class Queue { private Node First;//定义头节点 pr
2016-05-28 19:44:47 439
原创 数据结构之链表
基本概念链表是一种基本的数据结构类型,它由一个个结点组成。每一个结点包括一个数据的存储和一个指向下一个结点的引用。在这个定义中,结点是一个可能含有任意类型数据的抽象实体,它所包含的指向结点的应用显示了它在构造链表之中的作用。和递归程序一样,递归数据结构的概念一开始也令人费解,但其实它的简洁性赋予了它巨大的价值。代码实现public class LinkedList { private
2016-05-24 00:19:59 325
原创 算法之希尔排序
基本概念希尔排序是一种基于插入排序的快速排序算法。相较于传统的插入排序,他在处理大规模乱序数组时具有较大优势。试想一个无序数组,其最小值在数组末端,那么如果使用传统的插入排序,只能通过交换相邻的元素一个一个地把最小值移动到第一个,显然效率不高。希尔排序将整个数组分成若干个序列(序列的长度叫“增量”),对每一个序列进行插入排序,然后依次缩减增量再进行插入排序。随着增量的减小以及数组的局部有序化,数组
2016-05-22 00:15:56 302
原创 算法之自底向上的归并排序
基本概念之前使用自顶向下的归并排序,我们的主要思想是将一个大问题分成一个小问题,通过解决一个一个小问题来最终完成大问题。既然我们可以通过化整为零的方式Coding,那么是不是也可以由简入繁,由下到上? 仔细一想,我们可以先归并小数组,在成对的归并得到的较小数组,通过不断往复循环,归并大的数组。简单来说,就是两两归并,四四归并,八八归并。代码实现public class MergeSort
2016-05-20 22:58:35 4685 1
原创 算法之自顶向下的归并排序
基本概念试想一个操作,将一个数组(默认为无序)切割成两段,然后分别进行排序,然后将结果结合在进行排序归并。在数据结构之中这是一种简单的递归归并排序算法,是应用高效算法设计中分治思想的典型例子。 归并排序的基本逻辑是,要对数组[min,max]进行排序,先把他分成[min,mid]和[mid + 1, max]两个数组,分别进行排序最后归并起来。 代码实现接下来我将用java语言完成代码的描述。
2016-05-19 01:04:07 1649
原创 数据结构之栈的实现
基本概念栈(下压栈)是一种典型的数据集合类型,其内部的数据存储方式采用先进后出的方式。当你在栈内部添加一个元素后,再次添加的元素会处于旧元素的上层,你可以想象一叠邮件放在桌上,你每看完一个新的邮件放在邮件堆上时,最顶上的邮件就是你最新看完的邮件,而老的邮件就被压在了底层。这就是一种典型的栈结构。 代码实现下面我将用java语言来实现栈结构,数据底层使用数组方法。public class Sta
2016-05-18 01:37:21 528
我用java写了一个快速排序,但结果有问题,请教大神
2016-06-10
自己用java一个贪吃蛇,但有两个小问题,希望大神解答
2016-06-01
java中关于多态使用的困惑?
2016-05-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人