摘要: 我们在做算法的时候或多或少都会遇到这样的问题,那就是我们需要获取某一个数据集的倒数或者正数第几个数据。那么今天我们来看一下这个问题,怎么去获取倒数第K个节点。我们拿到这个问题的时候自然而然会想到我们让链表从末尾开始next K-1 次不就是第K-1个节点了么,但是必须要注意一点,这是单向链表。那么这 阅读全文
posted @ 2017-12-06 20:28 GoNewLife 阅读(1516) 评论(0) 推荐(0) 编辑
摘要: 链表在我们java中也是一种基础的数据结构,可以理解成是一种和数组同级的数组结构,正如我们所知,在我们使用这集合ArrayList和LinkedList的时候,总会学习底层数组实现的ArrayList和双向链表实现的LinkedList的区别。在这里,我们将要讲说的是单向链表的简单实现,让我们体会一 阅读全文
posted @ 2017-12-05 23:31 GoNewLife 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 经过前面五篇排序方法的介绍,我们了解到了递归思想以及分而治之的归并和快速排序,当然也涉及到了比较简单易懂的数据值传递冒泡,选择,以及插入排序。可以说每一种排序方式都各有千秋,都适合在不同的环境下进行使用,但是我们有时会不会思考一个问题,那就是我们在学习插入排序的时候的主题思想是将每一个数据取出来,然 阅读全文
posted @ 2017-12-04 23:28 GoNewLife 阅读(3060) 评论(0) 推荐(0) 编辑
摘要: 我们上一篇谈到了冒泡排序,其实我也说了,这两个排序方式何其相似,如果掌握了冒泡排序再来进行选择排序的理解我觉得完全没有太大的问题。那么什么叫做选择排序呢?我们可以理解为矮子里面挑高个,比如说呀有一个富翁来到了一个村庄,看见一群女的,这时候他是不是会把自己的老婆拿出来比较,遇到更好看的是不是要带走,直 阅读全文
posted @ 2017-11-30 23:49 GoNewLife 阅读(365) 评论(3) 推荐(0) 编辑
摘要: 我们在学习排序算法的时候或许很多人接触到的都是冒泡和选择这两种排序算法,其实真的可以说的是这两种算法确实是比较经典的排序方法,同时,在我的理解中,这两个排序具有惊奇的相似点。何为冒泡排序,如果我们在家煮过水都能知道,在水即将沸腾的时候会有一个又一个的水泡往上冒,这个现象其实和冒泡排序还是比较相似的, 阅读全文
posted @ 2017-11-30 23:28 GoNewLife 阅读(2124) 评论(0) 推荐(0) 编辑
摘要: 我们在前面两篇文章中介绍了两种排序方式,归并排序和快速排序,但是我们可以知道的是这两种排序针对的都是数据比较复杂的情况下我们使用分而治之的思想和递归的解决方式,那么入过我们的数据量比较小的情况下也是用牛刀杀鸡么?答案是否定的,这里将会介绍一种比较简单的排序方式,插入排序。其实我们在看到这个名字的时候 阅读全文
posted @ 2017-11-30 22:49 GoNewLife 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章我们讲完了归并排序,对于分而治之和递归思想应该都有了一定的理解,这篇文章我们将介绍道被认为是排序算法中最容易出错,但是又是最喜欢使用的一中排序方式,快速排序。对于快速排序而言我们必须抓住几个关键点就是基准值的选取,以及它在递归思想的运用过程中需要注意的事项。我们先看下面的图片了解一下快速排 阅读全文
posted @ 2017-11-30 21:11 GoNewLife 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 我们不得不承认一个事实,java学习过程中如果我们掌握了各种编程手段和工具,确实可以做一些开发,这就是一些培训机构敢告诉你几个月就能掌握一门语言的原因。但是随着时间的发展,我们总会感觉,这一类人如果不提升自己,最后也只会是一个码农。技术会日新月异,随时在发展更新换代,但是这几十年,有谁说过算法会过时 阅读全文
posted @ 2017-11-30 14:08 GoNewLife 阅读(2254) 评论(0) 推荐(0) 编辑