We present the zipper tree, an O(log log n)-competitive online binary search tree that performs each access in O(log n) worst-case time. This shows that for binary search trees, optimal worst-case access time and near-optimal amortized access time can be guaranteed simultaneously.The problem we consider in this paper is whether it is possible to combine the best of these bounds-that is, whether an O(log log n)-competitive BST algorithms that performs each access in optimal O(log n) worst-case time exists. We answer it affirmatively by presenting a data structure achieving these complexities. It is based on the overall framework of tango treeshowever, where tango trees use red-black trees [6] for storing what is called preferred paths, we develop a specialized BST representation of the preferred paths, tuned to the purpose. This representation is the main technical contribution, and its description takes up the bulk of the paper.In the journal version of their seminal paper on tango trees, Demaine et al. suggested that such a structure exists. Specifically, in the further work section, the authors gave a short sketch of a possible solution. Their suggested approach, however, relies on the existence of a BST supporting dynamic finger, split and merge in O(log r) worst-case time where r is 1 plus the rank difference between the accessed element and the previously accessed element. Such a BST could indeed be used for the auxiliary tree representation of preferred paths. However, the existence of such a structure (in the BST-model) is an open problem. Consequently, since the publication of their work, the authors have revised their stance and consider the problem solved in this paper to be an open problem [7]. Recently, Woo [13] made some progress concerning the existence of a BST having the dynamic finger property in worst-case. He developed a BST algorithm satisfying, based on empirical evidence, the dynamic finger property in worst-case. Unfortunately this BST algorithm does not allow insertion/deletion or split/merge operations, thus it cannot be used to maintain the preferred paths in a tango tree.After the publication of the tango tree paper, two other O(log log n)-competitive BSTs have been introduced by Derryberry et al. [4,11] and Georgakopoulos [5]. The multi-splay trees [4] are based on tango trees, but instead of using red-black trees as auxiliary trees, they use splay trees [10]. As a consequence, multi-splay trees can be shown [4,11] to satisfy additional properties, including the scanning and working-set bounds of splay trees, while maintaining O(log log n)-competitiveness. Georgakopoulos uses the interleave lower bound of Demaine et al. to develop a variation of splay trees called chain-splay trees that achieves O(log log n)competitiveness while not maintaining any balance condition explicitly. However, neither of these two structures achieves a worst-case single access time of O(log n). A data structure achieving the same running time as tango trees alongside O(log n) worst-case single access time wa...