知识大全 数据结构考研分类复习真题 第九章 答案[7]
Posted 地址
篇首语:人生如同故事。重要的并不在有多长,而是在有多好。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第九章 答案[7]相关的知识,希望对你有一定的参考价值。
.( )散列表存储的基本思想是用关键字的值决定数据元素的存储地址
( )散列表存储中解决碰撞的基本方法
① 开放定址法 形成地址序列的公式是 Hi=(H(key)+di)% m 其中m是表长 di是增量 根据di取法不同 又分为三种
a.di = … m 称为线性探测再散列 其特点是逐个探测表空间 只要散列表中有空闲空间 就可解决碰撞 缺点是容易造成 聚集 即不是同义词的关键字争夺同一散列地址
b.di = … ±k (k≤m/ ) 称为二次探测再散列 它减少了聚集 但不容易探测到全部表空间 只有当表长为形如 j+ (j为整数)的素数时才有可能
c.di =伪随机数序列 称为随机探测再散列
② 再散列法 Hi=RHi(key) i= … k 是不同的散列函数 即在同义词产生碰撞时 用另一散列函数计算散列地址 直到解决碰撞 该方法不易产生 聚集 但增加了计算时间
③ 链地址法 将关键字为同义词的记录存储在同一链表中 散列表地址区间用H[ m ]表示 分量初始值为空指针 凡散列地址为i( ≤i≤m )的记录均插在以H[i]为头指针的链表中 这种解决方法中数据元素个数不受表长限制 插入和删除操作方便 但增加了指针的空间开销 这种散列表常称为开散列表 而①中的散列表称闭散列表 含义是元素个数受表长限制
④ 建立公共溢出区 设H[ m ]为基本表 凡关键字为同义词的记录 都填入溢出区
O[ m ]
( )用分离的同义词表和结合的同义词表解决碰撞均属于链地址法 链地址向量空间中的每个元素不是简单的地址 而是关键字和指针两个域 散列地址为i( ≤i≤m )的第一个关键字存储在地址空间向量第i个分量的 关键字 域 前者的指针域是动态指针 指向同义词的链表 具有上面③的优缺点 后者实际是静态链表 同义词存在同一地址向量空间(从最后向前找空闲单元) 以指针相连 节省了空间 但易产生 堆积 查找效率低
( )要在被删除结点的散列地址处作标记 不能物理的删除 否则 中断了查找通路
( )记录 负载因子
cha138/Article/program/sjjg/201311/22830相关参考