1. VARIABLE-WIDTH TABLES WITH BINARY-SEARCtI FACILITY
(理解可能有偏差)
看了下當(dāng)初的memory是用比如8K words這樣來(lái)度量的。放到現(xiàn)在不敢想象。
文章我感覺(jué)是設(shè)計(jì)了一種用空間換時(shí)間的table存儲(chǔ)和查詢门驾。
對(duì)于一個(gè)存儲(chǔ)單元為1 word,其存不了占spaceN words的值佃延,在有M個(gè)這樣的值(N為不定長(zhǎng))要存儲(chǔ)并進(jìn)行查找的時(shí)候锡搜,如何來(lái)方便這種操作懊亡?
文章這么搞的:設(shè)計(jì)K個(gè)tables(K為占space最大的那個(gè)值的words數(shù))响鹃,每個(gè)table長(zhǎng)度為M驾霜,每個(gè)單元存一個(gè)值的word案训,第J個(gè)table存一個(gè)數(shù)值的第J個(gè)word的值(比如一個(gè)4words數(shù)值买置,第一個(gè)table存其第一個(gè)word內(nèi)容,第二個(gè)table存第二個(gè)word內(nèi)容强霎,以此類(lèi)推)忿项。
在存儲(chǔ)的時(shí)候,所有的數(shù)值都是排序好的,由第一個(gè)table來(lái)引領(lǐng)(即第一個(gè)table存所有排好序的值的第一個(gè)word內(nèi)容轩触,后面的table按照第一個(gè)table的順序存剩余的words內(nèi)容)寞酿。
在查詢某個(gè)值V的時(shí)候,可以先用第一個(gè)table的最大最小word跟V的first word比脱柱,如果不在范圍直接停止伐弹。如果在,則繼續(xù)比剩余tables的其他words內(nèi)容榨为。這樣其實(shí)很不錯(cuò)惨好。
至于針對(duì)table的其他insert,append and expand操作随闺,那就是更精細(xì)化的操作啦日川。里面提到一個(gè)東西,就是tables不一定存儲(chǔ)需要連續(xù)的矩乐,可以用delta來(lái)控制下2個(gè)table的space龄句。