![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
表
漫步莱茵河畔
用心去工作
展开
-
《数据结构与算法》之线性表
数据结构=数据+结构,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection接口又有3种子类型,List、Set和Queue,再下面是一些...原创 2018-11-03 19:57:48 · 201 阅读 · 0 评论 -
《数据结构与算法》之链表—单向链表
链表(LinkedList) 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点(链表中每一个元素称为节点)组成,节点可以在运行时动态生成。每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。 相比于线性表顺序结构,链表操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,...原创 2018-11-05 19:56:26 · 153 阅读 · 0 评论 -
《数据结构与算法》之链表—双端链表
2、双端链表 双端链表就是在单链表的基础上增加一个尾节点,使链表既有头节点又有尾节点,这样方便进行链表尾的访问和删除。其计算复杂度如下:1、在表头插入一个新的节点,时间复杂度O(1) ;2、在表尾插入一个新的节点,时间复杂度O(1) ;3、删除表头的节点,时间复杂度O(1) ;4、删除表尾的节点,由于只保存了表尾的节点,而没有保存表尾的前一个节点(单向,只能从前往后推),所以在删除表尾节点时需要...原创 2018-11-06 20:04:08 · 179 阅读 · 0 评论 -
《数据结构与算法》之链表—有序链表
2、有序链表 有序链表是在单链表的基础上对单链表的表头节点插入进行修改,从表头开始根据插入值与链表中原先存在的数据节点进行比较判断,若大于(或小于)该节点就向后移一个节点进行比较,直至不大于(或小于)该节点,最终实现按照从小到大(或从大到小)的顺序排列链表。 // 插入节点,并按照从小到大的顺序排列 public void insert(int value) { Node node =...原创 2018-11-06 21:35:05 · 1218 阅读 · 1 评论 -
《数据结构与算法》之链表—双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 双向链表构造代码如下: public class DoubleLinkedList { private Node head; // 链表头 private Node tail; // 链表尾 private in...原创 2018-11-10 11:21:30 · 652 阅读 · 0 评论