- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构的提炼与压缩 上海市上海中学 曹钦翔 指导教师:上海市上海中学 毛黎莉 数据结构的“化繁为简” 减少存储规模 化简存储结构 时空复杂度降低 处理方式多样 “化繁为简”的三种手段 提炼:忽略无效信息,减少存储规模 压 :调整存储方式,化简存储结构 缩 :合并重复信息,减少存储规模 1.二维结构的化简 问题一:Ural 1568 Train car sorting 问题描述:对于一个序列{an},定义一种操作,将{an}分成两个子列,把其中一个置于另一个前面,得到一个新的序列。现给出一个序列(这个序列是1到n的一个排列),求一种方案,通过最少的操作次数是它变成升序序列。 一个操作的例子 5 3 2 4 1 算法 优化数据结构 问题二:CEOI 2007 Day 2 Necklace 问题描述:要求编译一个库,能够对若干已知的整数串进行两个操作: (1)在某个已知串的左端或右端增加或减少一个元素,得到一个新的已知的串。 (2)输出某个已知串的最左端或最右端的数。 在问题的一开始,只有一个已知的串:空串。 分析 两个特例 数据结构:Left-Right Tree 添加新结点 删除结点 转化结论 已知树中某链的两端点,求底部端点的父亲 已知树中某链的两端点,求顶部端点在链中的儿子 2.树形结构的化简 问题五:问题二的遗留问题 问题描述:给定一棵有根树,在线回答两种询问:(1)已知树中某链的两端点,求底部端点的父亲(2)已知树中某链的两端点,求顶部端点在链中的儿子 分析 数据结构:Supper Father 3.图结构的化简 问题六:ural 1557 Network Attack 问题描述:给定一个无向连通图,若从中删去两条边能使它不连通,求所有这样的方案的总数。图点数n边数m。 分析 两种情况 小结 谢谢 算法 原序列的最简母矩阵中偶数行的非零元素,形成一个子列,前置。 原序列的最简母矩阵中奇数行的非零元素,形成一个子列,后置。 形成新序列。 不断重复,直到的到升序列。 2.树形结构的化简 问题三:浙江2007年省选 捉迷藏 问题描述:给定一棵树,每个节点要么是黑色,要么是白色,能执行一个操作:把某一个点取反色。动态维护并返回树中距离最远的黑色点对。 分析 数据结构:括号编码 数据结构:括号编码 数据结构:括号编码 数据结构:括号编码+线段树 维护以下变量 dis(s) :{a+b|S’(a,b)是S的一个子串,且S’介于两个黑点之间} right_plus:max{a+b|S’(a,b)是S的一个后缀,且S’紧接在一个黑点之后} right_minus:max{a-b|S’(a,b)是S的一个后缀,且S’紧接在一个黑点之后} left_plus:max{a+b|S’(a,b)是S的一个前缀,且有一个黑点紧接在S之后} left_minus:max{b-a|S’(a,b)是S的一个前缀,且有一个黑点紧接在S之后} 数据结构:括号编码+线段树 利用以下公式实现合并:S=S1+S2,其中S1(a,b)、S2(c,d) dis(S)=max{right_plus(S1)+left_minus(S2),right_minus(S1)+left_plus(S2),dis(S1),dis(S2)} right_plus(S)=max{right_plus(S1)-c+d,right_minus(S1)+c+d,right_plus(S2)} left_plus(S)=max{left_plus(S2)-b+a,left_minus(S2)+b+a, left_plus(S1)} right_minus(S)=max{right_minus(S1)+c-d,right_minus(S2)} left_minus(S)=max{left_minus(S2)+b-a,left_minus(S1)} 问题三小结 最简母矩阵 称一个p*q的矩阵A为序列{an}的母矩阵,当且仅当,矩阵A中的所有非零元素,自上到下自左到右逐列读出得到{an} ,自左到右自下到上逐行读出得到升序序列。 称序列{an}的所有母矩阵中,行数列数都最小的那个矩阵为序列{an}的最简母矩阵。 最简母矩阵 DFS VS BFS 其一:性质上(结构决定性质),DFS遍历后的可以得到DFS树,图中的边在DFS树中要么是树边要么是回边;而BFS遍历后往往得到层状结构,图中的边要么连接同一层中的两个点,要么连接相邻两层的两个点。 其二:用途上(性质决定用途),DFS能较有效解决与连通性相关的问题(因为任意
您可能关注的文档
最近下载
- 刑事审判参考2001年第7辑(总第18辑).pdf VIP
- 刑事审判参考2001年第4辑(总第15辑).pdf VIP
- GB/T 18998.5-2022工业用氯化聚氯乙烯(PVC-C)管道系统 第5部分:系统适用性.pdf
- 刑事审判参考2001年第8辑.总第19辑.pdf VIP
- 急诊危重症护理新进展题库答案-2025年华医网继续教育答案.docx VIP
- 《共圆中国梦》教学设计 统编版道德与法治九年级上册.pdf
- 新解读《DL_T 2765—2024输变电工程逻辑模型规范》最新解读.docx VIP
- 2025年锅炉水处理作业G3证理论考试笔试试题(400题)含答案.docx VIP
- 刑事审判参考2001年第9辑.总第20辑.pdf VIP
- 房地产开发重要节点及流程.pptx VIP
文档评论(0)