首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

《算法导论》第十章——根本数据结构(一):栈与队列

2013-10-16 
《算法导论》第十章——基本数据结构(一):栈与队列引言:算法操作的集合可以随着时间的改变而增大,减小,或者产

《算法导论》第十章——基本数据结构(一):栈与队列

引言:算法操作的集合可以随着时间的改变而增大,减小,或者产生其他变化,我们称这种集合是动态的。接下来的五章,我们将研究计算机上表示和操作有穷动态集合的一些基本技术。本文主要为你讲解栈与队列的操作和实现,建议将这些操作制作成库,方便以后的引用,避免重复编码。系列文章为算法导论的笔记和相关习题解答。


本文来源:栈与队列


动态集合的元素

元素包括两个部分:关键字+卫星数据

动态集合上的操作

主要包括两个大的方面:查询

我们约定:集合为S,关键字为k,指向元素的指针为x

Search(S,k)

Inserrt(S,x)

Delete(S,x)

Minimum(S)

Maximum( S )

Successor (S,x)

Predecessor(S,x)

栈和队列


一、栈


实现了一种先进先出的策略。通常情况下我们采用数组加栈顶指示top来实现,约定top==0(或者-1)的时候表示栈为空;同时如果stack的长度是m,那么要考虑元素个数超过m以后产生的溢出问题。栈的一些定义和基本操作如下:


队列的一些定义的基本的操作如下:


7,解答:两个队列,参考下图

《算法导论》第十章——根本数据结构(一):栈与队列

热点排行