亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? paper6

?? Best algorithm for LZW ..C language
??
?? 第 1 頁 / 共 3 頁
字號:
.EQdelim $$define <- ?< "\h'-0.5m'" up 10 "\(em" down 10 ?define gtorder ?"\z>\d\~\u"?define EXIST ?"\z\-\d\z\-\r\-\d\v'0.2m'\(br\v'-0.2m'"?define ALL ?"\o'V-'"?define 0M '0~...~M-1'define LH 'lo~...~hi'define RR 'bold R'define HH 'bold H'define KK 'bold K'define or '"\fBor\fI"~'define and '"\fBand\fI"~'define if '"\fBif\fI"~'define then '"\fBthen\fI"~'define else '"\fBelse\fI"~'define repeat '"\fBrepeat\fI"~'define until '"\fBuntil\fI"~'define while '"\fBwhile\fI"~'define do '"\fBdo\fI"~'define case '"\fBcase\fI"~'define end '"\fBend\fI"~'define begin '"\fBbegin\fI"~'define elseif '"\fBelseif\fI"~' define for '"\fBfor\fI"~'define From '"\fBfrom\fI"~'define To '"\fBto\fI"~'define exit '"\fBexit\fI"~'.EN.ls 1	.ceCOMPACT HASH TABLES USING BIDIRECTIONAL LINEAR PROBING.sp 3.ceJohn G. Cleary.ceThe University of Calgary, Alberta, Canada..sp 3.sp 20\u1\dAuthors Present Address: Man-Machine Systems Group, Department ofComputer Science, The University of Calgary, 2500 University Drive NWCalgary, Canada T2N 1N4..sp\u2\dThis research was supported bythe Natural Sciences and Engineering Research Council of Canada..sp 2.ls 2.bpIndex Terms --  Searching, hash storage, open addressing, bidirectional linear probing,address calculation, information retrieval, scatter storage, performance analysis, memory compaction..bp.ppAbstract -- An algorithm is developed which reduces the memory requirements of hash tables.This  is achieved by storing onlya  part of each key along with a few extra bits needed to ensure thatall keys are stored unambiguously.  The fraction of each key storeddecreases as the size of the hash table increases.  Significant reductionsin total memory usage can be achieved especially when the key size is notmuch larger than the size of a memory index and when only a small amountof data is stored with each key.The algorithm is  based on bidirectional linear probing.Search and insertion times are shown by simulation to be similar to thosefor ordinary bidirectional linear probing..bp.sh "1 Introduction".ppThe retrieval of a single item from among many others is a common problemin computer science.  I am particularly concerned here with the case where the item is retrieved on the basis of a single labelor key attached to each entry and where the keys are not ordered in anyparticular way.There is a well known solutionto this problem in the form of hash tables.Knuth [8], Knott [7] and Maurer and Lewis [11] provide good introductions to this subject..ppAn efficient version of hashing called.ulbidirectional linear probing (BLP),was developed by Amble and Knuth [1].As it forms the basis of what follows it is described in more detail in thefollowing section.  Section 3 shows how it can be modified so as to significantly reduce its memory requirements.  This is done by storing onlya small part of each key -- a few extra bits are needed to ensure that different keys, that look the same after truncation, are correctlydistinguished..ppThe execution time of this compact hashing algorithm is considered inSection 4.  It is shown by simulation to be similar to  ordinary BLPfor both successful searches and insertion.  It is significantlybetter for unsuccessful searches.  .ppA hashing scheme similar to compact hashing in that not all of the key isstored has been proposed by Andreae [2] (Chapter 1).  However, his technique has a small but finite probability of retrieving an incorrect key.Although compact hashingis not based on this earlier technique it provided the impetus toseek the current solution..ppIn hashing algorithms using an overflow area and a linked list of synonymsor by variations of this using buckets (see Maurer and Lewis [11]) only theremainder of each key need be stored.  This has been known since at least1965 (Feldman and Low [6] and Knuth [8] sec. 6.4, exercise 13, p543).  However, each entry (including the original hash location) requires a pointerto the next overflow record.  This pointer will about the same size as thereduction in the key size.  So, there is no net memory saving  overopen addressing techniques such as BLP..ppAmongst the possible applications of compact hashing is the storageof trees and TRIES without the use of pointers but still preservinga $log N$ retrieval time. It is hoped to report on this application in more detail later..ppPascal versions of the algorithms described below are availablefrom the author..sh "2 Bidirectional linear probing.".ppI will now introduce the open addressing technique which forms the basisof compact hashing.The .ulhash tablein which the keys will be stored is an array $T[ 0M ]$ .  I willbe concerned only with the the keys themselves as the items associated with each key do not significantly affect the algorithms.  In order to compute the locationfor each key I will use two functions: $t$ which randomises the originalkeys, and $h$ which computes a value in the range $0M$.  .ppLet $KK$ be the set of all possible keys and $HH$ be the set of all possibletransformed keys.  Then $t: KK -> HH$ is an invertible function.This function is introducedto ensure that the keys stored are  random and so, as a consequence,the hashingprocedure has a satisfactoryaverage performance.  In what follows these transformedkeys will be used rather than the original keys.  For example, it is the transformed keys that are stored in $T$.  (-1 is used to indicate an unoccupiedlocation in $T$.).pp$h: HH ->"{" 0M "}"$ and has the property that for$H sub 1 ~, H sub 2 ~ "\(mo" HH$$H sub 1 ~<=~ H sub 2~~ "\fBiff\fP"~~h(H sub 1 ) ~<=~ h(H sub 2 )$.  As a consequence the keys will be mapped into the hash table in the same order as the values of their transformedkeys.  This ordering is essential to the compaction attained later.Suitable functions $t$ and $h$ have been extensively discussed (Carter and Wegman, [3]; Knott [7]; Lum, [9]; Lum, Yuen and Dodd, [10]).These authors show that there are functions which almost always makethe distribution of transformed keys random.  I will not consider anyparticular functions for $t$ although some examples of $h$ will be introducedlater..ppTo retrieve a key, $K$, from the hash table the transformed key and the hash location are first computed.  If the (transformed) key stored at thehash location is greater than $t(K)$ then the table is searched upward until one of three things happen.  Either an empty location will be found,$T[j]=-1$, or the sought key will be found, $T[j]=t(K)$, or a key greaterthan the sought key will be found, $T[j]>t(K)$.  If the first key examinedis less than $t(K)$ then an analogous search is done down the hash table.The search is successful if the sought key is found, that isif the last location examined is equal to $t(K)$, and is unsuccessfulotherwise.  (See Amble and Knuth [1] for the details of this algorithm)..ppFor a given set of keys there are many ways that they can be arranged in $T$so that the search algorithm above will  still work correctly.There is thusfreedom, when designing an algorithm to insert new keys, to choose different strategies for positioning the keys.There are two conditions that must be satisfied when a new key is inserted.One is that all keys in the memory must remain in ascending orderand the other is that there must be no empty locations between the original hashlocation of any key and its actual storage position.  These imply that allkeys sharing the same initial hash location must form a single unbroken group..ppWithin these constraints one would like to insert a new key so as to minimise later retrieval times and the time to do the insertion itself.  Intuitivelykeys which share the same initial hash location should be centered around thatinitial address.  There are two ways of inserting keys which cause littledisturbance to the memory.  One is to find the position where the key shouldbe placed according to its ordering and then to create a gap for it bymoving .ulup all entries from this position up to the next empty location.  The second way issymmetric to this and creates a gap by moving entries .uldown one location.The insertion algorithm given by  Amble and Knuth [1] chooses which of thesetwo moves to make using a strategy which is  guaranteed to minimise the numberof locations in $T$ which are examined during later successful or unsuccessfulsearches, although it is not guaranteed to minimise the insertion time itself..ppOne  consequence of this insertion strategy is that sometimes it is necessaryto move entries below 0 and above $M$ in the array $T$.  One solution to thiswould be to make the array circular and move entries from 0 to $M-1$ andvice versa.  However, following Amble and Knuth [1], I will instead extendthe array $T$ and other arrays to be defined later at their top and bottom.This gives 'breathing room' for the array to expand.  An extra 20 entriesat the top and bottom were found to be quite sufficient for allthe simulation runs reported in Section 4.  Accordingly I will define$lo ~=~-20$ and $hi~=~M+19$ and define the array $T$ over the range$lo$ to $hi$..sh "3 Compact Hashing Using Bidirectional Linear Probing".ppI will now show that the memory required to store the keys in BLP can besignificantly reduced.  First consider the case whenthe number of possible keys in $KK$ is less than $M$, then every possible keycan be assigned its own location in $T$ without possibility of collision.In this case $T$ degenerates to an ordinary indexed array and the keys neednever be stored.  At worst a single bit might be needed to say whethera particular key has been stored or not.  This raises the question of whetherit is necessary to hold the entire key in memory if the key space $KK$ is slightlylarger than $M$.  For example if $KK$ were, say, four times larger than $M$then it might be possible to hold only two bits of the key rather than the entirekey.  The reasoning here is that the main function of the stored keys is toensure that entries which collide at the same location can be correctlyseparated.Provided $h$ is suitably chosen at most four keys can be mapped to a single location.  The two bits might then be sufficient to store fourdifferent values for these four keys.  It is in fact possible to realise thisreduction in stored key size although a fixed amount of extra information is neededat each location in order to correctly handle collisions..ppSo that I can talk about the part of the key which is in excess of theaddress space I will now introduce a .ulremainder function$r$.  $r$ maps from the transformed keys $HH$ to a set of remainders $RR~==~"{"0,~1,~2,~...,~Rm-1"}"$.  It  is these remainders that will be stored in lieuof the transformed keys.  The essential propertyof $r$ is that $r(H)$ and $h(H)$ together are sufficient to uniquely determine $H$.  .pp.ne 9Formally,.sp	$RR ~~==~~ "{"0,~1,~2,~...,~Rm-1"}"$.sp	$r: HH -> RR$.spand	$h( H sub 1 )~=~h( H sub 2 )~and~r( H sub 1 )~=~r( H sub 2 )~~ "\fBiff\fP" ~~ H sub 1 ~~=~~ H sub 2$ ..spFor a given function $h$ there are usually many possible functions $r$.One particularly simple pair of functions, referred to by Maurer and Lewis [10]as the .uldivision method, is $h(H)~~=~~ left floor^ H/Rm right floor$ and$r(H)~~=~~ H~ "\fBmod\fP"~Rm$ . .spWhen $r$ is defined as above and $Rm$ is between $2 sup d$ and $2 sup d+1$ the number of bits needed to specify a remainder is the number of bits in the key less $d$..ppConsider a new array$R [ LH ]$ into which the remainders will be stored.   In what follows $R$ will be kept in place of $T$ but it will be useful totalk about $T$ as if it were still there.  $R$ and the additional arrays tobe introduced shortly specify just the information in $T$, albeitmore compactly.  Each value $R [i]$ will hold the value $r(T[i])$ with theexception that when $T[i]$ is $-1$ (marking an empty location) then $R[i]$is also set to $-1$.  Ifthere have been no collisions then each $R[i]$ paired with the value $i$unambiguously gives the transformed key that would have been stored in $T[i]$.However, if there have been collisions it is not possibleto tell if a value of $R[i]$ is at its home location or if it has been movedfrom, say, $i-1$ and corresponds to a key, $H$, where $r(H)~=~ R[i]$ and $h(H)~=~i-1$.If there were some way to locate for each $R[i]$ where it was originally hashed then the original keys could all be unambiguously determined.This can be done by maintaining two extra arrays of bits, the virgin array $V$,and the change array $C$..ppThe virgin array$V[ LH ]$ marks those locations which have never been hashed to.  That is, $V[i]$ has a value of $1$stored if any of the stored keys in the hash table has $i$ as its hashaddress, and $0$ otherwise.  $V$ is maintained by initialising it to $0$and thereafter setting $V[h(H)] <-~1$ whenever a key $H$ is inserted in thememory.  The virginity of a location is unaffected by the move operationsduring insertion.The $V$ array is similar to the array of pass bits recommended in [1]..ppTo understand the change array $C[ LH ]$ it is necessary to look more closelyat the distribution of values of $R[i]$.  These remainders can be grouped according to whether or not they share the same original hash address.Also recall that the hash table, as in BLP, is ordered, so,all the remainders in a particular group will occur at consecutive locations. The change bits $C[i]$ are used to delimit the boundaries of these groups.  This is done by marking the first remainder(the one stored at the lowest address) of each group with a $1$.  All other members of a group have $C[i]=0$.  To simplify the search and insertionalgorithms it is also convenient to set $C[i]$ to 1 for all locationswhich are empty ($R[i]=-1$).Thus we have the formal definitions of thevalues of $V$ and $C$ in terms of the now notional array $T$ (the array$A$ is described later):.bp.nf.ls 1.ta 0.5i +0.75i +0.9i		\(lt\|$r(T[i])$	$T[i] != -1$	$R[i]~~==~~$	\(lk\|		\(lb\|$-1$ 	$T[i]=-1$.sp		\(lt\|$1	EXIST~ j~h(T[j])=i$	$V[i]~~==~~$	\(lk\|		\(lb\|$0$	otherwise.sp		\(lt\|$1	T[i] != T[i-1]~ roman or ~T[i]=-1$	$C[i]~~==~~$	\(lk\|		\(lb\|$0$	otherwise.sp 2		\(lt\|$a(i)	-Na <= a(i) <= Na$	$A[i]~~==~~$	\(lk\|		\(lb\|$inf$	otherwise.sp	where.sp		$Na ~>=~ 0$.br		$a(i)~==~ sum from j=lo to i |C[j]=1~"and"~R[j] != -1|~-~sum from j=lo to i V[j]$.fi

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美成人一区二区| 欧美一区二区精美| 欧美日韩视频在线第一区| 亚洲三级在线免费观看| 成人小视频在线| 国产精品久久久久久久岛一牛影视 | 国产**成人网毛片九色 | 久久新电视剧免费观看| 国产sm精品调教视频网站| 国产精品久线在线观看| 91高清视频在线| 久久91精品久久久久久秒播 | 精品盗摄一区二区三区| 国产a精品视频| 国产精品对白交换视频| 91精品免费在线| av激情综合网| 久久久亚洲精品石原莉奈| 国产精品亚洲视频| 日韩电影免费在线看| 国产视频一区在线观看| 在线免费观看视频一区| 国产精品自拍在线| 天堂成人国产精品一区| 国产精品美女久久久久久久久久久 | 久久久99免费| 日韩一区二区三区高清免费看看| 成人午夜精品一区二区三区| 亚洲成精国产精品女| 亚洲另类色综合网站| 久久色在线视频| 欧美电影免费观看完整版| 欧美亚洲一区二区三区四区| eeuss鲁一区二区三区| 亚洲一区二区精品久久av| 精品国产污污免费网站入口 | 在线视频一区二区免费| 91麻豆视频网站| 日本精品视频一区二区| 色婷婷综合在线| 在线观看日韩国产| 欧美体内she精视频| 欧美日韩国产综合久久| 欧美精选午夜久久久乱码6080| 欧洲精品一区二区三区在线观看| 色诱亚洲精品久久久久久| 色哟哟国产精品| 欧美久久久久中文字幕| 日韩一区二区免费在线电影| 久久亚洲影视婷婷| 日韩理论电影院| 亚洲成人一二三| 国产一区二区三区在线观看免费 | 国产91精品精华液一区二区三区| 捆绑调教一区二区三区| 国产精品亚洲人在线观看| 久88久久88久久久| 国产成人免费视频一区| 在线一区二区三区| 538prom精品视频线放| 欧美成人一区二区| 国产精品丝袜黑色高跟| 亚洲123区在线观看| 一区二区三区国产| 亚洲精品国产精品乱码不99| 亚洲综合久久久| 亚洲国产乱码最新视频 | 亚洲成在人线在线播放| 午夜a成v人精品| 国产精品综合在线视频| 色综合夜色一区| www一区二区| 久久午夜羞羞影院免费观看| 国产精品免费久久久久| 秋霞影院一区二区| 国产成人av福利| 欧美日韩1234| 亚洲精品网站在线观看| 国产成人av一区| 久久伊人蜜桃av一区二区| 亚洲免费在线观看视频| 国产精品亚洲成人| 亚洲精品一区二区三区99| 一区二区成人在线观看| 99视频在线观看一区三区| 欧美色综合天天久久综合精品| 欧美激情一区三区| 不卡av电影在线播放| 精品理论电影在线| 国产呦萝稀缺另类资源| 色婷婷av一区二区| 亚洲国产另类精品专区| 欧美曰成人黄网| 午夜一区二区三区视频| 大胆亚洲人体视频| 91精品蜜臀在线一区尤物| 亚洲国产成人va在线观看天堂| 在线亚洲精品福利网址导航| 亚洲婷婷在线视频| 成人av电影观看| 亚洲视频你懂的| 欧美人与禽zozo性伦| 亚洲成人一区二区在线观看| 5566中文字幕一区二区电影| 久久99九九99精品| 国产精品无圣光一区二区| av激情亚洲男人天堂| 午夜精品一区二区三区电影天堂 | 久久久亚洲国产美女国产盗摄 | 欧美精品一区二区精品网| 亚洲国产aⅴ天堂久久| 久久欧美一区二区| 亚洲激情中文1区| 欧美国产一区视频在线观看| 色老汉一区二区三区| 国产成人亚洲综合a∨婷婷| 一区二区三区在线看| 精品国产污污免费网站入口| 91黄色免费观看| yourporn久久国产精品| 国产成人精品在线看| 免费三级欧美电影| 亚洲电影在线播放| 一区二区三区四区在线播放| 欧美一区二区三级| 欧美在线观看禁18| 欧美浪妇xxxx高跟鞋交| 欧美日韩一区二区在线观看| 色婷婷激情一区二区三区| 91一区在线观看| 99精品视频一区二区三区| 国产a视频精品免费观看| 成人福利电影精品一区二区在线观看| 激情综合色播五月| 亚洲福利一二三区| 亚洲日本免费电影| 亚洲成人黄色小说| 美女一区二区三区| 日韩av一区二区三区四区| 欧美aaaaaa午夜精品| 丝袜亚洲另类欧美综合| 美女一区二区三区在线观看| 国产一区二区在线影院| 成人国产免费视频| 欧美挠脚心视频网站| 久久婷婷综合激情| 国产农村妇女毛片精品久久麻豆 | 日韩精品午夜视频| 日韩国产一二三区| 成人性生交大片免费看中文 | 欧美一区二区免费视频| 91精品国产综合久久香蕉的特点 | 成人av片在线观看| 91久久国产综合久久| 久久看人人爽人人| 国产精品免费看片| 美国欧美日韩国产在线播放| 成人av电影免费观看| 欧美大黄免费观看| 亚洲v中文字幕| 波波电影院一区二区三区| 欧美电影免费观看完整版| 一区二区在线观看不卡| 国产精品国产三级国产普通话三级 | 欧美精品三级日韩久久| 26uuu亚洲婷婷狠狠天堂| 日韩精品福利网| 欧美亚洲国产bt| 国产精品全国免费观看高清| 亚洲电影一区二区| 在线观看亚洲精品视频| 一区二区三区色| 久久成人精品无人区| 91浏览器在线视频| 久久亚洲一区二区三区明星换脸| 奇米精品一区二区三区在线观看一| 亚洲一区二区视频| 欧美aa在线视频| 蜜桃久久久久久| 国内外成人在线| 欧美日韩一区国产| 国产精品久久久久天堂| 亚洲午夜免费视频| 亚洲成人三级小说| 欧美色图天堂网| 亚洲天堂2014| 99麻豆久久久国产精品免费优播| 91精品国产91久久久久久最新毛片| 欧美国产一区二区| 国产在线观看一区二区| 91日韩一区二区三区| 亚洲人成在线观看一区二区| 成人在线视频首页| 欧美精品一区二区在线观看| 日本麻豆一区二区三区视频| 91高清视频在线| 亚洲电影一区二区三区| 在线播放亚洲一区| 美女视频免费一区| 久久久亚洲精品石原莉奈|