• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • CDB

    發表于:2007-05-25來源:作者:點擊數: 標簽:CDBConstantstructurDatabase
    Constant DataBase A structure for constant databases19960914Copyright 1996D. J. Bernstein, djb@pobox.comA cdb is an associative array: it maps strings (``keys'') to strings(``data'').A cdb contains 256 pointers to linearly probed open hash
    Constant DataBase

    A structure for constant databases
    19960914
    Copyright 1996
    D. J. Bernstein, djb@pobox.com
    
    A cdb is an associative array: it maps strings (``keys'') to strings
    (``data'').
    
    A cdb contains 256 pointers to linearly probed open hash tables. The
    hash tables contain pointers to (key,data) pairs. A cdb is stored in
    a single file on disk:
    
        +----------------+---------+-------+-------+-----+---------+
        | p0 p1 ... p255 | records | hash0 | hash1 | ... | hash255 |
        +----------------+---------+-------+-------+-----+---------+
    
    Each of the 256 initial pointers states a position and a length. The
    position is the starting byte position of the hash table. The length
    is the number of slots in the hash table.
    
    Records are stored sequentially, without special alignment. A record
    states a key length, a data length, the key, and the data.
    
    Each hash table slot states a hash value and a byte position. If the
    byte position is 0, the slot is empty. Otherwise, the slot points to
    a record whose key has that hash value.
    
    Positions, lengths, and hash values are 32-bit quantities, stored in
    little-endian form in 4 bytes. Thus a cdb must fit into 4 gigabytes.
    
    A record is located as follows. Compute the hash value of the key in
    the record. The hash value modulo 256 is the number of a hash table.
    The hash value divided by 256, modulo the length of that table, is a
    slot number. Probe that slot, the next higher slot, and so on, until
    you find the record or run into an empty slot.
    
    The cdb hash function is ``h = ((h << 5) + h) ^ c'', with a starting
    hash of 5381.
    

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>