基础数据结构--背包,队列,栈
2015-04-15 22:14
267 查看
抽象数据类型(ADT):泛指除基本数据类型以外的数据类型。什么叫类型?就是一类数据。基本数据类型被认做是最基本的,不可再划分的数据类型,一般就是整型、浮点型、以及字符型等。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用。
背包(Bag),队列(Queue)和栈(Stack)都属于集合类抽象数据类型,它们的不同之处在于删除或访问对象的顺序不同,下面简单总结下这三种数据类型:
背包(Bag):是一种不支持从中删除元素的集合数据类型,它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素,使用背包就说明元素的处理顺序不重要,可以想象一个背包,往里面放了N个小球,在取球的时候手伸进背包是随机取出来的,通常这样的数据结构用来进行计算平均值等对元素顺序没有要求的算法;
API:
队列(Queue):是一种先进先出(FIFO)的集合数据类型,联想隧道通车和各种排队场面,先进入队列,则先出队列,后进入就后出队列;
API:
栈(Stack):是一种后进先出(LIFO)的集合数据类型,联想桌上的一叠文件,总是先取最上面的,依次往下取,当有新的文件的时候总是放在最上面。电子邮件收件箱就是一个类似栈的结构:在收件时将邮件压入(push)最顶端,在取信是从最顶端弹出(pop);
API:
背包(Bag),队列(Queue)和栈(Stack)都属于集合类抽象数据类型,它们的不同之处在于删除或访问对象的顺序不同,下面简单总结下这三种数据类型:
背包(Bag):是一种不支持从中删除元素的集合数据类型,它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素,使用背包就说明元素的处理顺序不重要,可以想象一个背包,往里面放了N个小球,在取球的时候手伸进背包是随机取出来的,通常这样的数据结构用来进行计算平均值等对元素顺序没有要求的算法;
API:
队列(Queue):是一种先进先出(FIFO)的集合数据类型,联想隧道通车和各种排队场面,先进入队列,则先出队列,后进入就后出队列;
API:
栈(Stack):是一种后进先出(LIFO)的集合数据类型,联想桌上的一叠文件,总是先取最上面的,依次往下取,当有新的文件的时候总是放在最上面。电子邮件收件箱就是一个类似栈的结构:在收件时将邮件压入(push)最顶端,在取信是从最顶端弹出(pop);
API:
相关文章推荐
- Java基础之集合框架--使用LinkedList模拟堆栈或队列数据结构
- 数据结构基础(5)--队列和循环队列详解--静态方式
- 数据结构基础(3)-->队列
- 基础数据结构 ①(栈|队列|链表)
- 一步一步复习数据结构和算法基础-链式队列
- 基础数据结构 之 队列(python实现)
- C 基础数据结构---队列 ADT
- 野生前端的数据结构基础练习(2)——队列
- 算法与数据结构基础6:C++队列的简单实现
- javaScript数据结构 栈 队列 链表基础知识
- 一步一步复习数据结构和算法基础-栈和队列(1)
- 数据结构复习-基础、线性表、栈、队列、串
- 基础数据结构02:队列
- hdu 2191 多重背包基础题以及(单调队列O(vm))的用法
- 算法学习之基础(背包 列队 栈) 习题1.3.33泛型双向队列
- 基础数据结构:栈、队列——Python实现
- 一步一步复习数据结构和算法基础-栈和队列(2)
- 基础数据结构:栈、队列——Python实现
- 基础数据结构 链表、栈、队列
- Java基础知识强化之集合框架笔记20:数据结构之 栈 和 队列