数据结构课件chp8.pptVIP

  • 3
  • 0
  • 约1.34万字
  • 约 50页
  • 2017-05-30 发布于四川
  • 举报
散列 (Hash) 静态散列 散列 (Hashing) 在计算机科学中把字典当作一种抽象数据类型。 在讨论字典抽象数据类型时,把字典定义为 名字-属性对的集合。根据问题的不同,可以为名字和属性赋予不同的含义。 例如,在图书馆检索目录中,名字是书名,属性是索书号及作者等信息;在计算机活动文件表中,名字是文件名,属性是文件地址、大小等信息;而在编译程序建立的变量表中,名字是变量标识符,属性是变量的属性、存放地址等信息。 通常,用文件 (表格) 来表示实际的对象集合,用文件记录 (表格的表项) 来表示单个对象。这样,字典中的名字-属性对将被存于记录 (表项) 中,通过表项的关键字 (即名字-属性对的名字) 来标识该表项。 表项的存放位置及其关键字之间的对应关系可以用一个二元组表示: ( 关键字key,表项位置指针addr ) 这个二元组构成搜索某一指定表项的索引项。考虑到搜索效率,可以用顺序表的方式组织字典,也可以用二叉搜索树或多路搜索树的方式组织字典,本章讨论一种搜索效率很高的组织字典的方法,即散列结构。 静态散列方法 散列方法在表项的存储位置与它的关键字之间建立一个确定的对应函数关系Hash( ),使每个关键字与结构中一个唯一存储位置相对应: Address = Hash ( Rec.key ) 在搜索时,首先对表项的

文档评论(0)

1亿VIP精品文档

相关文档