JDK提供了7中阻塞队列,这里介绍其中3中,剩余的以此类推原理相同。 1.ArrayBlockingQueue 2.LinkedBlockingQueue:链表实现的有界阻塞队列 3.PriorityBlockingQueue:支持优先级的无界阻塞队列 4.DelayQueue 5.Synchron ...
分类:
编程语言 时间:
2016-11-27 14:26:54
阅读次数:
261
哈希表:哈希表是一种数据结构,它基于数组和链表实现;拥有快速插入查询和删除的性能(时间复杂度O(1),接近于常量的时间),解决了数组增删元素慢和链表查询数据慢的问题。但是哈希表基于数组所以扩展性较差,而且遍历以及排序性能并不怎么样,所以说有得有失。【此处修正一下:数组的元素操作,如果是基于元素下标的... ...
分类:
其他好文 时间:
2016-11-17 19:48:33
阅读次数:
280
列表类型采用双向链表实现的,借助列表类型redis还可以作为队列使用,一个列表类型key最多能容纳2^32-1个元素 1、向列表两端增加元素 2、从列表两端弹出元素 3、获取列表中的元素个数 4、获取列表片段 5、删除列表中指定的值 6、获取/设置指定索引的元素值 7、截取列表 8、向列表插入元素 ...
分类:
其他好文 时间:
2016-11-16 13:48:56
阅读次数:
163
转载:http://wiki.jikexueyuan.com/project/java-collection/linkedlist.html 概述 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通 ...
分类:
其他好文 时间:
2016-11-06 02:45:16
阅读次数:
242
在单链表中,又如何实现“插入”和“删除”操作呢?插入操作:假设我们要在线性表的两个数据元素a和b之间插入一个数据元素x,已知p为其单链表存储结构中指向结点a的指针。为插入数据元素x,首先要生成一个数据域为x的结点,然后插入在单链表中。根据插入操作的逻辑定义,还需修..
分类:
其他好文 时间:
2016-11-04 02:18:40
阅读次数:
428
Js新手最近在研究Js数据结构,刚好看到链表实现这一块儿,觉得有些资料和自己理解的有冲突,于是借着自己以前一点点C语言的基础,用Javascript模仿了C的链表实现,并且用了process.stdin和process.stdout的控制台输入输出。祝贺新手第一次发帖。哈哈哈。 代码如下: Link ...
分类:
编程语言 时间:
2016-11-03 13:55:12
阅读次数:
249
首先说下好久没更新了,最近打游戏和工作都有点多,o(^▽^)o。 写这个AVL发现自己的代码风格好差,尤其是变量命名这块,后来意识到了,想去改,但是太多了,改了几个就不想改了,做这个是记录下自己的成长吧。 另外说下,调这个AVL真心有点烦了,前面写了一个,但是逻辑有点乱,基本的删除都测差不多ok了, ...
分类:
其他好文 时间:
2016-11-02 07:58:37
阅读次数:
163
总结:本小节讲述了链表的概念,以及用链表实现Stack、Queue和Bag的过程和优缺点。 重点: 1. 定义:链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该结点含有一个泛性的元素和一个指向另一条链表的引用。 2. 我们首先用一个嵌套类来定义结点的抽象数据 ...
分类:
编程语言 时间:
2016-10-31 07:23:00
阅读次数:
193
本周的作业还算挺好玩。。约瑟夫生死游戏嘛。 老师要抽签选择每个组对应的数据结构。结果宝宝抽到了单链表。。。。 一、项目简介 约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大,危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免遇难。无奈,大家只得同意这 ...
分类:
其他好文 时间:
2016-10-30 14:17:08
阅读次数:
572
一、栈的定义 从数据结构角度看,栈也是线性表,其特殊性在于栈的基本操作都是线性操作的子集,它是操作受限的线性表。 栈(stack)是限定仅在表尾进行插入或删除操作的线性表。 栈一般分为两种: 静态栈:用数组实现; 动态栈:用链表实现。 一般用的比较多的都是动态栈。如果学会了链表,其实对栈的操作就比较 ...
分类:
编程语言 时间:
2016-10-29 21:56:28
阅读次数:
251