正文 前言 在我们进行开发的时候,为了充分利用系统资源,我们通常会进行多线程开发,实现起来非常简单,需要使用线程的时候就去创建一个线程(继承Thread类、实现Runnable接口、使用Callable和Future),但是这样也有一点问题,就是如果并发的线程数量很多,创建线程、销毁线程都是需要消耗 ...
分类:
编程语言 时间:
2019-05-12 12:22:05
阅读次数:
132
1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Null、Boolean、Number、String 值类型:数值、布尔值、null、undefined。 引用类型:对象、数组、函数。 堆栈数据结构:是一种支持后进先出(LIFO)的集合,即 ...
分类:
Web程序 时间:
2019-05-12 11:04:20
阅读次数:
157
1. Java Queue 1. Java Queue 重要观点 Java Queue接口是Java Collections Framework的成员。 Queue 实现通常不允许插入 null 元素 队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素。不过优先级队列和 LIFO 队列 ...
分类:
编程语言 时间:
2019-05-04 20:06:35
阅读次数:
237
BFS可回答两类问题: 1.从节点A出发,有前往节点B的路径吗? 2.从节点A出发,前往节点B的哪条路径经过的节点最少? BFS中会用到“队列”的概念。队列是一种先进先出(FIFO, first in first out)的数据结构,与栈不同,栈是后进先出(LIFO, last in first o ...
分类:
编程语言 时间:
2019-04-19 10:33:07
阅读次数:
296
一、栈栈:英文为“stack”;定义:一种存放数据的内存区域;特点:①LIFO,后进先出;可视化描述:②调用栈,函数或者子例程像堆积木一样存放,以实现层层调用;函数调用形成一个栈帧: fucntion tur(b){ var a = 4; return a+b; } function emy(y){ ...
分类:
Web程序 时间:
2019-04-16 16:03:39
阅读次数:
196
一、你对本章内容的小结 本章主要讲了两种特殊的线性表,栈和队列。栈是仅在表尾进行插入或删除操作且后进先出(LIFO)的线性表,而队列则是在表的一端插入,另一端删除元素且先进先出(FIFO)的线性表。同时,课本的案例引入告诉我们,栈可以解决数值的转换,括号匹配的检验问题;而队列因其结构的吻合可以用了舞 ...
分类:
其他好文 时间:
2019-04-01 00:59:23
阅读次数:
158
第三章学习了栈和队列。 有一个要搞清楚的点是 栈和队列的每一次操作都只对一个元素起作用。之前在学习计概这门课的时候,就已经接触了栈和队列的知识,知道LIFO和FIFO结构。但是没有学太深。 现在知道了栈和队列的作用以及一些基本的算法和主要操作。 总结: (1)顺序栈与链栈 主要操作:1.InitSt ...
分类:
其他好文 时间:
2019-03-30 12:00:51
阅读次数:
135
1、线性结构分类: 直接访问型: 向量、记录 顺序访问型: 顺序文件、广义表、栈、队列 目录索引型: 字典、散列表 2、数组 插入: 元素总个数为k,各个位置插入的概率为1/k; 平均移动元素次数:求和1/k*(k-i)约等于k/2; 总时间开销约为o(k); 查询: 读取非常方便,时间代价为o(1 ...
分类:
其他好文 时间:
2019-03-18 13:36:03
阅读次数:
248
一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。在某种意义上,这种混合线性结构提供了单 ...
分类:
其他好文 时间:
2019-03-13 19:47:22
阅读次数:
187
1、栈的定义与实现栈的定义 栈是一种特殊的线性表,仅能在线性表的一端进行操作 栈顶(Top):允许操作的一端 栈底(Bottom):不允许操作的一端栈的性质:后进先出(LIFO)栈的一些常用操作 创建栈 销毁栈 清空栈 进栈 出栈 获取栈顶元素 获取栈的大小栈的存储实现顺序存
分类:
其他好文 时间:
2019-03-06 21:57:03
阅读次数:
153