The combinatorial core of the OVSF code assignment problem
that arises in UMTS is to assign some nodes of a complete binary
tree of height h (the code tree) to n simultaneous connections, such that
no two assigned nodes (codes) are on the same root-to-leaf path. Each
connection requires a code on a specified level. The code can change over
time as long as it is still on the same level. We consider the one-step code
assignment problem: Given an assignment, move the minimum number of
codes to serve a new request. Minn and Siu proposed the so-called DCAalgorithm
to solve the problem optimally. We show that DCA does not
always return an optimal solution, and that the problem is NP-hard.
We give an exact nO(h)-time algorithm, and a polynomial time greedy
algorithm that achieves approximation ratio Θ(h). Finally, we consider
the online code assignment problem for which we derive several results
Huffman codes
In telecommunication, how do we represent a
set of messages, each with an access
frequency, by a sequence of 0’s and 1’s?
To minimize the transmission and decoding
costs, we may use short strings to represent
more frequently used messages.
This problem can by solved by using an
extended binary tree which is used in the 2-
way merging problem.
This is an implementation of double-array structure for representing trie,
as proposed by Junichi Aoe [1].
Trie is a kind of digital search tree, an efficient indexing method with
O(1) time complexity for searching. Comparably as efficient as hashing,
trie also provides flexibility on incremental matching and key spelling
manipulation. This makes it ideal for lexical analyzers, as well as spelling
dictionaries.
See the details of the implementation at [2]:
http://linux.thai.net/~thep/datrie/datrie.html
Historically, this was first implemented as C++ classes in a library called
midatrie [2], but later simplified and rewritten from scratch in C.
伸展樹,基本數據結構,The tree is drawn in such a way that both of the edges down from a node are the same length. This length is the minimum such that the two subtrees are separated by at least two blanks.