作者reader (读者)
看板CSSE
标题Re: [心得] 资料存取
时间Thu Mar 10 03:39:04 2005
※ 引述《reader (读者)》之铭言:
: 标题: Re: [心得] 资料存取
: 时间: Thu Mar 10 00:23:26 2005
:
: 推 Eventis:有什麽特殊的定址技巧吗? 61.62.49.43 03/10
: → Eventis:因为维度上升对效能的影响似乎很大. 61.62.49.43 03/10
: → Eventis:不是很能从一维效能不错, 61.62.49.43 03/10
: → Eventis:就能直接推到一维的一维的一维的..效能不错吧? 61.62.49.43 03/10
嗯,维度上昇自然会对效能产生影响。
粗估一个 n 维而有 m 项资料的阵列,存取一项资料所需比对与指标
操作次数平均约为 n * ceil(log16(m)).
但相较於其他资料结构,这个数字是相当低的。
不过一般来说,真正的高维度操作并不常见。现在资料库的库表项栏
也只需要四维就可完全定位,一般操作更是只需要用一维或二维注标
就可以了。
类似 XML 的树状资料形式,是比较会有高维度操作,但是别的资料
结构和存取方式,也不见得比较快速和方便。
string hash 这东西也早就做了,字串可变成 32 bits hash value,
所以 d["html"][0]["body"][0]["table"][1]["tr"][3]["td"][2],
这样的存取方式,想来是很容易就可以做到的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.173.26
1F:推 ledia:请问粗估的复杂度大概是怎麽算的呢? 140.112.30.55 03/10