
数据结构学习记录
蓁爱教育
爱技术,爱分享,持续学习,我在这里等你!
展开
-
数据结构-数组
本次主题内容为数组。在Java中,数组是作为对象来处理,所以在创建数组的时候需要使用new。 int[] array = new int[20]; int array[] = new int[20]; 以上两种方式效果相同,但是第一方式更直观的说明是在定义一个int[] 类型对象,一般的书都建议这种方式。 有序数组的简单实现public class OrderArray { priv原创 2017-03-07 05:16:40 · 207 阅读 · 0 评论 -
数据结构-栈和队列
本次学习主题是栈和队列。 栈和队列应该是数据结构中非常基本的结构单元,一般作为其他结构的组成单元或者算法中。 和数组的随机访问特性不同,栈的特点是后进先出(LIFO),队列的特点是先进先出(FIFO)。 数组应该是非常基本的数据结构单元了,所以数组类型非常直观,就是一个物理和逻辑结构都连续的空间。而栈和队列就更加抽象一些,一般通过接口定义其特性,然后可以通过很多方式来实现。 这次的学习内容依原创 2017-03-10 05:54:54 · 257 阅读 · 0 评论 -
简单排序
今天的学习主题是简单排序。 之所以成为简单排序,因为后面还有复杂排序。简单排序包括冒泡排序、选择排序、插入排序。 1-冒泡排序处理逻辑: (1):从最左侧开始,向右比较相邻两个节点。如果左侧节点大于右侧节点,交换两个节点;经过第一次比较,最大的数就移动到了最后的位置; (2):向下移动一个位置,重复第一步;当到达上一次比较结束点的前一个节点结束; (3):当移动节点为第一个节点时结束。原创 2017-03-08 07:09:32 · 208 阅读 · 0 评论 -
数据结构-高级排序
最近事情比较多,没有好好看书。今天的的学习内容是高级排序。 高级排序主要介绍的就是希尔排序,快速排序,基数排序。 1-希尔排序 基本原理就是通过增加比较数据之间的步长,是数据快速移动到其排序后位置的附近,从而避免了像插入排序一样一步一步的移动到自己的位置上。希尔排序在一次排序中也是使用的插入排序。 希尔排序的设计关键就是确定步长。Knuth序列采用公式 h=3*h + 1。首先根据从h=1开原创 2017-03-21 00:36:58 · 345 阅读 · 0 评论 -
数据结构-链表
本次学习内容是链表,包括单链表、双端链表、有序链表、双向链表,最后的学习内容为迭代器 对于空间连续的数组,无序的查询慢,有序就插入慢,针对以上两种情况,链表在一定程度上缓解了这个问题。 1-单链表。 单链表首先要定义一个节点,然后再定义节点之间的关系。节点除了保存数据之外,还保存着相邻下一个节点的引用,可以通过引用找到下一个节点。 单链表的简单代码实现:/* * 定义一个单链表,链表只能进原创 2017-03-11 22:34:20 · 156 阅读 · 0 评论