- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
栈 栈的逻辑结构 栈的逻辑结构: 假设一个栈s中的元素为an,an-1,…, a1,则称a1为栈底元素,an为栈顶元素,栈 中的元素按a1,a2,…,an的次序进栈。在 任何时候,出栈的元素都是栈顶元素,也就 是说,栈的修改是按后进先出的原则进行的 的。 栈的存储结构 栈的顺序存储: 采用一组连续的存储空间(比如数组) 依次存放自栈底到栈顶的数据元素,并设一 个指针指示栈顶元素的位置。例如我们用一 个游标top来指示当前栈顶元素所在的单元, 当top=0时,表示此为空栈,每增加一个元 素,就是进栈操作:top=top+1。 入栈与出栈 两个栈共享一个数组 当两个栈共享一个数组,我们可以将两个栈的 栈底分别设在数组的两端,然后各自向中间伸展。 只有当两个栈的栈顶相遇是才可能发生上溢。 当两个栈共享一个数组s[1,n],设前一个栈的 栈顶初始值为0,栈顶指针为p,则元素进栈操作 为:p=p+1,后一个栈的栈顶初始值为n+1,栈 顶指针为q,则元素进栈操作为:q=q-1,那么判 定栈满的条件是:p=q-1。 栈的链式存储 也称为链栈,采用一组任意的存储单元存储数 据,并通过结点中的指针指示元素间的逻辑关系。 在使用链表来表示栈时,必须确定链表的哪一端对 应于栈顶。 一般在无头结的链表中用第一个结点存储栈顶元 素,于是头指针便成了指示栈顶位置的指针,插入 和删除元素的操作便在链表的头部进行。 对于栈(或队列)结构,无论是顺序还是链式存 储,进行插入、删除运算的时间复杂度都是 o(1)。 对栈的操作 push(x):向栈中添加元素x。 pop():删除栈顶元素。 Top():返回栈顶元素。 注意: 一个N维数组类型可以定义其数据元素为n-1维数组类型的一维数组类型。例如一个2维数组是由有限个1维数组组成的一维数组,一个3维数组是由有限个2维数组组成的一维数组,依次类推。 线性表与一维数组的重要区别在于:前者的长度可变而后者长度固定。 在一维数组中,下标相邻的元素在逻辑上是相邻的,因此,数组应采用顺序存储结构。 数组元素存储地址的计算 以列序为主序的存储结构: 假设每个数据元素占L个存储单元,则aij的存储 位置:Loc[i,j] = Loc[0,0] + (b1*j+i) * L 其中b1就是数组转换成矩阵时的行数。 以行序为主的存储结构: aij的存储位置为 Loc[i,j] = Loc[0,0] + (b2*i+j) * L 其中b2就是数组转换成矩阵时的列数。 例题: 设有二维数组A[0‥9,0‥19]每个元素占2个 字节,数据按列优先顺序存储,第一个元素的存储 地址为100,那么元素A[6,7]的存储地址是多少? Loc[6,7] = 100 + (10*7+6) * 2 =232 注意: 上例中数组行、列都分别从0开始,若改成: A[p‥m,q‥n], 则公式就得改为: 列序为主: Loc[i,j] = Loc[0,0] + [b1 * (j-q)+(i-p) ] * L 行序为主: Loc[i,j] = Loc[0,0] + [b2 * (i-p)+(j-q) ] * L 其中:b1=(m-p)+1 ;b2=(n-q)+1 k = i(i+1)/2 +j 当 i ? j j(j+1)/2 +i 当 i ? j 以一维数组sa[ ]作为n 阶对称矩阵A的存储结构,A中任意一元素 aij与它的存储位置 sa[k] 之间存在着如下对应关系: a00 a10 a11 a20 a21 a22 an-10 an-11 an-1n-1 k= 0 1 2 3 4 5 n(n+1)/2-1 例如, a53 在 sa[ ]中的存储位置是:k=5*(5+1)/2+3=18 sa[18]= a53 1 什么是稀疏矩阵 有较多值相同元素或较多零元素,且值相同元素或者零元素分布没有一定规律的矩阵称为稀疏矩阵。例 A = 0 12 9 0 0 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 14 0 0
您可能关注的文档
最近下载
- 检验科职业安全防护和职业暴露紧急处理.ppt VIP
- 有机肥料检测报告.docx VIP
- 专题19.5 一次函数的应用【八大题型】(举一反三)(人教版)(解析版).pdf VIP
- (高清版)DG∕TJ 08-2075-2022 管线定向钻进技术标准.docx VIP
- 12J12 河北省12系列建筑标准设计图集 无障碍设施.docx VIP
- 两管理两综合一保护竞赛考试题库-外汇资本项目 .pdf VIP
- 八年级上册数学:专题24 二次根式【八大题型】(举一反三)(北师大版)(解析版).pdf VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 液化石油气钢瓶智能制造项目可行性研究报告模板-备案拿地.doc
- 山西省建筑标准设计图集12J12 12系列建筑标准设计图集 无障碍设施.pdf VIP
文档评论(0)