数据结构讲义-mhy12345.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构讲义 12345 1 数据结构 讲义 12345 基础数据结构 栈 栈 维护一个整数容器,支持插入一个整数,取出最后一个插入的整数(First In Last Out) 可以通过数组实现,额外使用一个 变量作为栈顶标记。 【顺便注意C++中 ++和++ 两者的区别】 队列 队列 维护一个整数容器,支持插入一个整数,取出最开始的一个未被取出过的整 数(First In First Out) 可以通过数组实现,额外使用两个 变量作为对首和队尾 1 数据结构讲义 12345 2 堆 堆 维护一个整数容器,支持插入一个整数,取出容器中值最大的一个整数 。 数据结构本身拥有一定的实现复杂性,因此我们一般选择使用 STL 的 _ 实现,或者使用 库中的 _,_ 和 _ 实现。 链表 链表 维护一个整数序列,支持在指定整数后面插入一个整数 在 OI 中,一般用于图论中的邻接表。 其实现思路是使用一个结构体,每个结构体存一个能够索引到下一个结构体 的指针。 数组衍生工具 数据结构里面,有一系列工具,可以用于处理数列问题,数列问题本身包含 诸如数列单点修改,区间修改,单点查询,区间查询等等。其中有一些可以用一 个数组完成 2 数据结构讲义 12345 3 数组 普通的数组本身就是一个最简单的数据结构,当然,他也有一个很有逼格的 名字“随机线性存取表”。 区间求和时间复杂度 O(N) 单点修改时间复杂度 O(1) 区间加时间复杂度 O(N) 前缀和 前缀和 给定一个数列 , , , …, ,定义数列 满足 = 那么数列 就是数列 的前缀和。 比如数列[1,2,3,4,5]的前缀和应该是[1,3,6,10,15] 如果我们知道了一个数列的前缀和数列,我们求解原数列的区间和操作就会 变得非常非常迅速。具体来说,我们可以在 O(1)时间复杂度内完成原数列的区间 和询问操作。 因为 + + ⋯ + = − 如果维护了数列的前缀和,那么数列本身的区间求和复杂度 O(1),但是区间 3 数据结构讲义

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档