We consider static dictionaries over the universe U = {0, 1}^w on a<br />unit-cost RAM with word size w. Construction of a static dictionary with<br />linear space consumption and constant lookup time can be done in linear<br />expected time by a randomized algorithm. In contrast, the best previous<br />deterministic algorithm for constructing such a dictionary with n elements<br />runs in time O(n^(1+epsilon)) for epsilon > 0. This paper narrows the gap between<br />deterministic and randomized algorithms exponentially, from the factor of<br />n^epsilon to an O(log n) factor. The algorithm is weakly non-uniform, i.e. requires<br />certain precomputed constants dependent on w. A by-product of the result<br />is a lookup time vs insertion time trade-off for dynamic dictionaries, which<br />is optimal for a certain class of deterministic hashing schemes.