XY Fast Trie in real applications

I am trying to understand the data structures of X and Y Fast Trie, and it is not clear why these structures are not used in a large database, since their asymptotic complexity is less than Log (N). In cases where we have a terabyte database, is it better to use Y Fast Trie than, for example, a B-tree?

+4
source share
2 answers

There are several reasons why trying the X-fast or Y-fast may not be effective in practice. Here are a few:

  • X-fast tries internally to require several related structures, including a bitwise trie and a doubly linked list of elements. They do not work very well in database environments where items are stored on disks, and after the pointer a disk search may be required. (For similar reasons, databases often use B-trees over binary search trees). In addition, they require the use of balanced binary search trees, supplemented with information to perform splitting or combining, which is added to the extra space and introduces even more pointers.

  • X-fast - O (1). - ( ) , , - , .

  • - - X-fast BST Y-fast , . - , , 100x 1000x , .

  • - X-fast- Y-fast , . , , - . , - . , .

  • - , , , X- Y- , . , , " " , , , .

, !

+4

templatetypedef, , , . :

  • X-fast ... ...

X-fast try - , , , . . , , . 1 .

  1. X-fast -...

. . , .

  1. - - X-fast-... , ...

. , . / , (, Lucene). .

  1. - X-fast try Y-fast try , , ...

. , . - .

  1. - , , , X-fast Y-fast , ...

, - , - , 4, loglogM (, 6 64- ), .

, , Y-fast ? - , , , , . R-tree 1990- . - , . -, B-, , , Lucene, RDBMS , . Oracle , trie/hash table - , / .

+5

All Articles