直接寻址表-Direc Access Table

什么是字典和字典操作:

研究数据集合的逻辑结构和存储结构的主要目标就是如何表示计算问题的输入输出数据,使得解决该问题的算法效率更高(运行得更快)。人们在长期的算法研究中发现,很多算法都是以下列的对数据集合的操作作为对数据的基本处理的。

设S为具有n个数据元素的集合:

INSERT(S, x),在集合S中插入关键值为x的数据元素

SEARCH(S, x),在集合S中查找关键值为x的数据元素

DELETE(S, x),在集合S中删掉元素x

上述三个对集合的操作称为字典操作实现了字典操作的集合简称为字典。字典在很多应用问题中都是重要的数据集合表示。例如个人通信录、仓库物品清单,单位员工信息表等等。

一个算法中往往以字典操作作为基础操作,组合成更复杂的操作,来获得计算结果。几个典型的字典:线性表、二叉树搜索树、散列表等等。


为表示动态集合,我们用一个数组,或称为直接寻址表(Direct Address Table)记为T[0…m-1]  

关键字集合U = { 0, 1, ..., m - 1 },实际的关键字集合K。


直接寻址表-Direc Access Table_第1张图片


直接寻址表的几个字典操作:

DIRECT-ADDRESS-SEARCH(T,k)

return T[k]


DIRECT-ADDRESS-INSERT(T,x)

T[x,key]=x


DIRECT-ADDRESS-DELETE(T,x)

T[x,key]=NIL


对于某些应用,直接寻址表本身就可以存放动态集合的元素,也就是说,并不是把每个元素的关键字及其卫星数据都放在直接寻址表外部的一个对象中,再由表中某个slot(槽)的指针指向该对象,而是直接把该对象存放在表中的槽中,从而节省了空间。

============END============

你可能感兴趣的:(直接寻址表-Direc Access Table)