- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
孙猛
/teachers/sunm
2017年11月23 日
1
• 字典及其抽象数据类型
• 字典的线性表实现
• ⼆分法与插值法(interpolation)检索
• 集合的抽象数据类型及实现
2
• 数据的存储和访问是计算中最重要最基本的⼯作,也是各种计算机
应⽤和信息处理的基础。
• 在许多情况下,计算过程并不知道数据的存储位置,但需要使⽤数
据,此时⾸先需要找到数据存储的位置,这⼀操作称为检索。
• ⼀些具体应⽤中数据的存储和检索(查询)的例⼦:
• 电⼦字典,基本功能就是基于算法的数据检索
• 图书馆编⽬⽬录和检索系统,⽀持读者检索书籍资料的有关信息
• 规模巨⼤的有机物库,需要基于结构或光谱等参数进⾏检索
• 我们要讨论的是基于关键码的数据存储和检索
• 关键码指数据项的某种(具有唯⼀性的)特征,可以是数据内容的组成部分,
也可以是专⻔为数据检索建⽴的标签
• ⽀持这种操作的数据结构,通常称为字典、查找表或映射
3
• 字典就是实现存储和检索的结构。需要存储和检索的信息和
环境有许多具体情况,因此要考虑各种不同的字典实现技术
• 字典的实现可以⽤到前⾯讨论过的许多想法和结构。包括
• 各种线性结构、树性结构及其各种组合
• 涉及到在这些结构上操作的许多算法
• 组织⽅法很多,下⾯讨论顺序、散列、⼆叉树和其他树形结构等
• 这⾥的基本问题是空间利⽤率和操作效率
• 字典的最主要也是使⽤最频繁的操作是检索(searching ,
也称查找)
• 检索效率是字典实现中最重要的考虑因素
• 由于规模不同,检索效率的重要性也可能不同
4
• 字典可以分为两类:
– 静态字典:建⽴后保持不变,只做检索,实现只需考虑检索效率
– 动态字典:内容经常动态变动的字典。除检索外,基本操作还包
括插⼊和删除等,实现时就必须考虑插⼊删除操作的效率
• 动态字典的插⼊删除操作可能导致字典结构的变化。要⽀持
⻓期使⽤,还需要考虑字典在动态变化中能否保持良好的结
构,能否保证良好的检索效率?(字典的性能不应该随着反
复操作⽽逐渐恶化)
5
• 字典:⼀种特殊的集合;
• 每个元素都有两部分组成,即关键码和属性(也称为值) :
• 可以依据关键码对字典元素进⾏排序。
• 字典元素的插⼊、删除和检索等操作⼀般以关键码为依据进⾏。
• 包含关键码和属性的⼆元组称作关联。
• 关联k,v :关键码值k到属性值v的⼀个对应。
• 字典: 从关键码值集合到值集合的⼆元关系:
D ={k,v | k∈K ∧ v∈ V}。
• 静态字典:⼀经建⽴就基本固定不变。
• 动态字典:需要经常更新。
6
• 关于字典最主要的操作:
• 检索(也称查找)给定⼀个值key,在字典中找出关键码等
于key的元素。
您可能关注的文档
最近下载
- 2025-2026新人教版小学3三年级数学上册全册教案【新教材】.doc
- 发展社会主义民主政治..pptx VIP
- 加油站试用合同.docx VIP
- 《发展社会主义民族政治》主题单元设计.doc VIP
- 学校财务管理培训课件《中小学食堂财务管理与会计核算》.pptx VIP
- 广东省深圳市罗湖区2023年中考英语二模试卷(附答案详解).docx VIP
- 高压变频器节能计算.docx VIP
- 水利水电工程单元工程施工质量验收评定表及填表说明.doc VIP
- 《中国特色社会主义》教案第二单元第5课第2框教案.docx VIP
- 苏少版(2024)小学美术一年级上册教学设计(附教材目录).docx VIP
文档评论(0)