当设计索引结构时候,一个数据容器,一个索引结构,但是有时候需要引入多个空间结构的,比如需要两个索引结构才能实现方便高效的算法。
这就是典型的空间换时间算法思想。
例如:3D空间,需要四元数来表示,而不是3元素。
lua 的map需要2个索引结构。
local UnorderedDict = class("UnorderedDict")
function UnorderedDict:ctor()
self.loopArr = {}
self.key2Idx = {}
self.idx2Key = {}
self.itridx = 0
end