程序员想事儿

一个新手程序员的fighting!

排序:
默认
按更新时间
按访问量

数据结构之堆的定义

基本概念 堆是一种基本的数据结构。在这里我用数组来形容,在一个二叉堆的数组中,每一个元素都要保证大于等于另外两个特定位置的元素。同时相应的,这些元素又要大于等于另外两个相应位置的元素,整个数据结构以此类推。如果我们将整个数据结构画成树状结构,就能够清晰地看出整个结构的样子。 图片中显示的是最...

2016-07-11 01:30:38

阅读数:4764

评论数:0

算法之快速排序

基本概念 快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立的排序。当两个数组都有序时整个数组也就自然有序了。在快速排序中,切分的位置取决于数组的内容。切分的关键在于使数组满足下面三个条件: 1. 对于某个下表j,数组[j]的位置已经选定; 2. 数组[0]到数组[j-...

2016-07-04 14:40:00

阅读数:488

评论数:1

贪吃蛇的java代码分析(三)

代码剖析 在上一篇文章中,我们完成了贪吃蛇部分代码的构造。回头审视我们写的代码与思路,会发现我们遗漏了一个重要的地方,那就是:贪吃蛇的自身移动。想必大家都知道,贪吃蛇自身是会自己移动的,并且会跟随你的方向来不断移动。我们需要在代码中来体现这个功能,那么如何体现呢?查阅API,我们发现了一个TIME...

2016-06-05 22:16:46

阅读数:7175

评论数:2

贪吃蛇的java代码分析(二)

代码剖析 贪吃蛇是一款十分经典的小游戏,对初入coding的朋友来说,拿贪吃蛇这样一个案例来练手十分合适,并不高的难度和成功后的成就感都是学习所必须的。下面我将依照我当时的思路,来逐步分析实现的整个过程。让我们逐一分析。首先,整个游戏最基本的元素是地图。在java中用于绘图的类是swing和awt...

2016-06-05 18:42:48

阅读数:8199

评论数:4

贪吃蛇的java代码分析(一)

自我审视 最近自己学习java已经有了一个多月的时间,从一开始对变量常量的概念一无所知,到现在能勉强写几个小程序玩玩,已经有了长足的进步。今天没有去学习,学校里要进行毕业答辩和拍毕业照了,于是请了几天的假,自己也就有了一点空余的时间。回想这一个多月,自己做到好的地方是把大部分时间都用在了看书和...

2016-06-01 16:57:16

阅读数:14410

评论数:1

数据结构之队列

基本概念 队列是一种基本的数据结构,它在结构两端都有限制,插入只能在一段进行,而删除只能在另一端进行。允许删除的一端叫队尾,允许插入的一段叫队头。队列拥有先进先出的特点,又称为FIFO表。 代码实现 队列根据其内部实现方式的不同,分为用链表实现的链队和用数组实现的顺序队。 链表实现:public...

2016-05-28 19:44:47

阅读数:249

评论数:0

数据结构之链表

基本概念 链表是一种基本的数据结构类型,它由一个个结点组成。每一个结点包括一个数据的存储和一个指向下一个结点的引用。在这个定义中,结点是一个可能含有任意类型数据的抽象实体,它所包含的指向结点的应用显示了它在构造链表之中的作用。和递归程序一样,递归数据结构的概念一开始也令人费解,但其实它的简洁性赋予...

2016-05-24 00:19:59

阅读数:157

评论数:0

算法之希尔排序

基本概念 希尔排序是一种基于插入排序的快速排序算法。相较于传统的插入排序,他在处理大规模乱序数组时具有较大优势。试想一个无序数组,其最小值在数组末端,那么如果使用传统的插入排序,只能通过交换相邻的元素一个一个地把最小值移动到第一个,显然效率不高。希尔排序将整个数组分成若干个序列(序列的长度叫“增量...

2016-05-22 00:15:56

阅读数:165

评论数:0

算法之自底向上的归并排序

基本概念 之前使用自顶向下的归并排序,我们的主要思想是将一个大问题分成一个小问题,通过解决一个一个小问题来最终完成大问题。既然我们可以通过化整为零的方式Coding,那么是不是也可以由简入繁,由下到上? 仔细一想,我们可以先归并小数组,在成对的归并得到的较小数组,通过不断往复循环,归并大的数组...

2016-05-20 22:58:35

阅读数:1369

评论数:0

算法之自顶向下的归并排序

基本概念 试想一个操作,将一个数组(默认为无序)切割成两段,然后分别进行排序,然后将结果结合在进行排序归并。在数据结构之中这是一种简单的递归归并排序算法,是应用高效算法设计中分治思想的典型例子。 归并排序的基本逻辑是,要对数组[min,max]进行排序,先把他分成[min,mid]和[mid +...

2016-05-19 01:04:07

阅读数:660

评论数:0

数据结构之栈的实现

基本概念 栈(下压栈)是一种典型的数据集合类型,其内部的数据存储方式采用先进后出的方式。当你在栈内部添加一个元素后,再次添加的元素会处于旧元素的上层,你可以想象一叠邮件放在桌上,你每看完一个新的邮件放在邮件堆上时,最顶上的邮件就是你最新看完的邮件,而老的邮件就被压在了底层。这就是一种典型的栈结构。...

2016-05-18 01:37:21

阅读数:296

评论数:0

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