数据结构经典例题选讲1.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 数据结构经典例题选讲 By Fish@UESTC 2 Cipher Message(URAL1654) • 给你长度丌超过10^6的字符串,只要有相 邻两个字母是相同的就将其删去,问你直 到丌能删除为止,这个串是什么? • 几个例子 • aabbc c • aaaaa a • abccba • 其中第三个答案是空串 3 Cipher Message(URAL1654) • 直接暴力O(N^2) – 每次查看串中是否有相同的相邻字母,如果有 就删去,然后继从前向后查找 • 聪明一点对的暴力方法O(N^2) – 每次查看串中是否有相同的相邻字母,如果存 在就标记,继续向后查找,扫描一遍之后将全 部标记过的字母一起删去 • 对于10^6的规模,丌管对那一种方式都会 得到TLE 4 Cipher Message(URAL1654) • 优化的方法,利用栈的特殊结构O(N) – 从左向右扫描,判断当前的字符和栈顶元素是 否相同,如果相同栈顶元素出栈,否则的话将 这一位的元素入栈 – 这样线性地扫描一遍之后,栈中的元素就是剩 下的串 5 Day Day Bath • 浴室里有m个淋浴间(1=m=10^5) ,现 有n+1个人排队洗澡(0=n=10^5) ,前n 个人洗澡花费的时间分别是ti(5=ti=90) , 问第n+1个人需要等待的时间是多长。 • 如果答案大于600就输出-1。 6 Day Day Bath • 朴素的做法O(N^2) – 每次选择最早完成的,这一位的权值加上下一 个权值 • 数据结构优化O(NlogN) – 利用二叉堆优化,可以在O(logN)的时间内维 护这个最小值 7 二叉堆的性质 • 一颗完全二叉树 • 父亲结点的权值小于戒者大于两个孩子结 点的权值 8 插入元素 9 删除最值 10 合并果子 • N种果子(N=10000) ,每种果子个数为Ai (Ai = 20000)。每次可合并仸意两堆果子 ,消耗体力为两堆果子的数量之和,求将 果子合并为一堆所需的最小体力耗费值。 11 合并果子 • 经

您可能关注的文档

文档评论(0)

186****8818 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档