摘要: 冒泡排序是我学的第一个排序。刚学的时候也没有整明白,但是记住了答案。找工作笔试的时候凭借着记忆力完成了操作。工作了这么久,突然回头看。发现以前觉得很难的东西现在都已经整的差不多了。希望能和你们一起分享自己的进步。 冒泡排序原理:比较二个数的大小,通过交换,大的放后面。 冒泡第一轮会找到该数组中最大的 阅读全文
posted @ 2019-04-02 16:55 dalaolei 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 双链表和单链表的区别是多了一个指向上一个节点的指针。 循环双链表插入 1、找到该链表的下一个节点。 2、新插入的节点上一个节点指向该链表,下一个指针指向该链表的下一个节点。 3、该链表下一个节点指向新插入的节点。 所有 测试 阅读全文
posted @ 2019-04-02 16:11 dalaolei 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 循环单链表和单链表最大的区别是它的某个节点会指向该链表的头节点。通过循环你会发现该链表循环不尽,整个链表形成一个环。 循环链表插入元素 1、找到该链表的下一个节点 2、新元素的下一个节点指向该链表的下一个节点。 3、该链表的下个节点指向新元素。 代码 删除节点 1、找到该元素的下下个节点。 2、当前 阅读全文
posted @ 2019-04-02 16:05 dalaolei 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 链表和数组区别,链表不是顺序存储。每一个节点里面存着下一个节点的指针。 优点:无需实现申明大小,插入方便。 缺点:查询速度比不上数组。 单链表插入节点 1、找到该链表的最后一个节点 2、最后一个节点的指针指向新节点。 3、返回自身。 代码 删除节点。 1、取出该节点的下下节点。 2、把下下节点赋值给 阅读全文
posted @ 2019-04-02 15:41 dalaolei 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔我第一次是在c++语言的书籍中看到的,当时看了很久,无法理解。后来索性就再也没有研究过。最近在看数据结构相关视频,又提到了汉诺塔问题。咬着牙琢磨了很久,终于懂了一点皮毛了,希望能和你们一起分享。一起进步。 汉诺塔是一种小游戏,没玩过的朋友可以去4399玩一次。方便体会这种递归思想。 汉诺塔分为 阅读全文
posted @ 2019-04-02 15:10 dalaolei 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 队列的特点和栈相反,先进先出,同样用数组实现队列。 队列插入 1、创建一个新的数组,大小比原来的数组长度大一。 2、把原来的数组的值赋值到新数组 3、新数组插入最新元素 4、新数组赋值给原数组 出队列 先进先出 1、创建一个新的数组,大小比原来的数组长度小一。 2、给新数组赋值,把原数组下标加1赋值 阅读全文
posted @ 2019-04-02 14:34 dalaolei 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 栈只能在一端进行删除和插入操作,换句话说就是后进后出。最先进来的元素叫做栈底。 可以简单的理解成一桶水,后来的水放在最上面。倒出的时候最上面的水最先倒出去。我用数组实现栈功能。 插入push 1、创建一个新的数组,大小比原来的数组长度大一。 2、把原来的数组的值赋值到新数组 3、新数组插入最新元素 阅读全文
posted @ 2019-04-02 14:19 dalaolei 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 二分查找和线性查找可运用于数组 线性查找 时间复杂度 O(n) 1、遍历数组 2、拿目标和数组中的元素进行匹对 3、找到则返回数组中该元素的下标 4、未查询到则返回-1 //自定义数组public class MyArray { int[] elements; 二分查找 时间复杂度 O(log2n) 阅读全文
posted @ 2019-04-02 14:05 dalaolei 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 工作算的上是一年了,但是这一年大多数时间都在玩游戏,混日子。大学虽然学过数据结构,但是听的迷迷糊糊。完全没有听懂。以下记录一下学习数据结构的过程,方便自己和他人复习。 数据结构在我理解中就是数据和数据中间的存储关系。数组是一种最常见的数据结构。优点是查询速度很快,但是删除效率很低,要移动各个数组。 阅读全文
posted @ 2019-04-02 12:12 dalaolei 阅读(657) 评论(0) 推荐(0) 编辑