LonelyRookie Blog

Thinking will not overcome fear but action will.

栈和队列

栈和队列

栈 栈定义 栈(stack )又称堆栈,它是运算受限的线性表。其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。 表中进行插入、删除操作的一端称为栈顶(top) ,栈顶保存的元素称为栈顶元素。相对的,表的另一端称为栈底(bottom) 当栈中没有数据元素时称为空栈; 向一个栈插入元素又称为 进栈或 入栈; 从一个栈中删除元素又称为 出栈或 退...

线性表之双向链表的实现

模拟LinkList

前言 主要是模拟Java中的LinkList的实现。 LinkedList概述 LinkedList是一种双向链表。 根据双向链表的特点,会有头节点和尾节点,并且节点之间是通过前驱指针和后继指针来维护关系的,而不是像数组那样通过位置下标来维护节点间关系的。所以既可以从头到尾遍历,又可以从尾到头遍历。 双向链表是包含两个指针的,pre指向前一个节点,next指向后一个节点,但是第一个...

线性表之其它链表

双向链表、循环链表

前言 介绍双向链表和循环链表 简介 双向链表 单链表的一个优点是结构简单,但是它也有一个缺点,即在单链表中只能通过一个结点的引用访问其后续结点,而无法直接访问其前驱结点, 要在单链表中找到某个结点的前驱结点,必须从链表的首结点出发依次向后寻找,但是需要Ο(n)时间。 为此我们可以扩展单链表的结点结构,使得通过一个结点的引用,不但能够访问其后续结点,也可以方便的访问其前驱结点。 扩展单...

线性表之单链表的实现

单链表的实现

前言 今天主要是来模拟单链表的基本功能。 简介 链表是一系列的存储数据元素的单元,通过指针串接起来形成的,因此每个单元至少有两个域,一个域用于数据元素的存储,另一个域是指向其他单元的指针。 这里具有一个数据域和多个指针域的存储单元通常称为 结点(node) 一种最简单的结点结构如图所示,它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结...

线性表之顺序表的实现

模拟ArrayList

前言 今天主要是来模拟Java中ArrayList的基本功能。 List接口 首先定义List接口 /** * 线性表接口 * * @ClassName List * @Description 线性表接口 * @Author HuangCanCan * @Date 2019/8/11 15:30 * @Version 1.0 **/ public interface List { ...

线性表

线性表及其结构

前言 下面几节都来认识线性表,模拟Java中的顺序存储结构和链式存储结构的实现。 线性表(linear list) 线性表是n个类型相同数据元素的有限序列,通常记作(a 0 , a 1 , …a i-1 , a i , a i+1 …,a n-1 )。 1.相同数据类型 在线性表的定义中,我们看到从a 0 到a n-1 的n个数据元素是具有相同属性的元素。 比如说可以都是数字,例如...

算法的基本概述

算法的基本概述

前言 今天来看一哈算法的相关概念。 算法的基本概述 算法(algorithm) 算法是指令的集合,是为解决特定问题而规定的一系列操作。 它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出。 一个算法通常来说具有以下五个特性: 输入:一个算法应以待解决的问题的信息作为输入。 输出:输入对应指令集处理后得到的信息。 可行性:算法是可行的,即算法中...

数据结构的基本概述

数据结构的基本概述

前言 从今天开始,我们就来巩固一下数据结构和算法的基本知识。 数据结构的基本概述 有哪些数据结构? 线性表、栈、队列、(字符)串、数组、广义表、树、二叉树、图。重点是线性表、二叉树 什么是数据 数据(data)是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。 数据的含义非常广泛,除了通常的数值数据、字符、字符串是数据以外,声音、图像等一切可以输入计算机并能被处理的...

展开运算符与rest参数

展开运算符(...)与rest参数(剩余参数)

前言 这周在工作中遇到了vue.js中的对象展开运算符的语法,有点没搞懂。现在记录学习一下。 这里主要学习一下,ES6的rest参数,展开运算符(对象展开运算符、数组展开运算符、函数展开运算符),感觉它们有点相似。 rest参数 (剩余参数) 剩余参数的语法:允许我们将一个不定数量的参数表示为一个数组。 语法: function(a, b, ...theArgs) { // ......

try-with-resources机制

try-with-resources机制(try后面跟小括号())

Java7提供了try-with-resources机制,其类似Python中的with语句,将实现了java.lang.AutoCloseable 接口的资源定义在 try 后面的小括号中,不管 try 块是正常结束还是异常结束,这个资源都会被自动关闭。 try 小括号里面的部分称为 try-with-resources 块。 Java 7 的编译器和运行环境支持新的 try-with-...