Science in China Series F: Information Sciences

, Volume 52, Issue 8, pp 1292–1301 | Cite as

New method in information processing for maintaining an efficient dynamic ordered set

  • ShiQing Xin
  • GuoJin WangEmail author


This paper investigates how to maintain an efficient dynamic ordered set of bit strings, which is an important problem in the field of information search and information processing. Generally, a dynamic ordered set is required to support 5 essential operations including search, insertion, deletion, max-value retrieval and next-larger-value retrieval. Based on previous research fruits, we present an advanced data structure named rich binary tree (RBT), which follows both the binary-search-tree property and the digital-search-tree property. Also, every key K keeps the most significant difference bit (MSDB) between itself and the next larger value among K’s ancestors, as well as that between itself and the next smaller one among its ancestors. With the new data structure, we can maintain a dynamic ordered set in O(L) time. Since computers represent objects in binary mode, our method has a big potential in application. In fact, RBT can be viewed as a general-purpose data structure for problems concerning order, such as search, sorting and maintaining a priority queue. For example, when RBT is applied in sorting, we get a linear-time algorithm with regard to the key number and its performance is far better than quick-sort. What is more powerful than quick-sort is that RBT supports constant-time dynamic insertion/deletion.


information processing dynamic ordered set algorithms and data structures rich binary tree 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Corman T, Leiserson C, Rivest R, et al. Introduction to Algorithms. 2nd ed. Cambridge: MIT Press, 1990. 123–320Google Scholar
  2. 2.
    Li X M, Garzarán M J, Padua D. A dynamically tuned sorting library. In: CGO’ 04: Proceedings of the International Symposium on Code Generation and Optimization. Palo Alto, California, 2004. 111Google Scholar
  3. 3.
    Graefe G. Implementing sorting in database systems. ACM Comput Surv, 2006, 38(3): 10CrossRefGoogle Scholar
  4. 4.
    Andersson A, Thorup M. Dynamic ordered sets with exponential search trees. J ACM, 2007, 54(3): 13CrossRefMathSciNetGoogle Scholar
  5. 5.
    Blandford D K, Blelloch G E. Compact representations of ordered sets. In: SODA’ 04: Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, 2004. 11–19Google Scholar
  6. 6.
    Sedgewick R. Algorithms. 2nd ed. Massachusetts: Addison-Wesley, 1983. 91–170zbMATHGoogle Scholar
  7. 7.
    Andersson A, Hagerup T, Håastad J, et al. The complexity of searching a sorted array of strings. In: STOC’ 94: Proceedings of the twenty-sixth Annual ACM Symposium on Theory of Computing, Quéebec, 1994. 317–325Google Scholar
  8. 8.
    Bentley J L, Sedgewick R. Fast algorithms for sorting and searching strings. In: SODA’ 97: Proceedings of the Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, 1997. 360–369Google Scholar
  9. 9.
    Siegel D E. All searches are divided into three parts: string searches using ternary trees. In: APL’ 98: Proceedings of the APL98 Conference on Array Processing Language, Rome, 1998. 57–68Google Scholar
  10. 10.
    Brodal G S. Finger search trees with constant insertion time. In: SODA’ 98: Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms, San Francisco, 1998. 540–549Google Scholar
  11. 11.
    Andersson A, Thorup M. Dynamic string searching. In: SODA’ 01: Proceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms, Washington, 2001. 307–308Google Scholar
  12. 12.
    Hoare C A R. Algorithm 64: Quicksort. Commun ACM, 1961, 4(7): 321Google Scholar
  13. 13.
    Williams J W J. Algorithm 232: Heapsort. Commun ACM, 1964, 7: 347–348Google Scholar
  14. 14.
    Knuth D E. Fundamental Algorithms. 3rd ed. Massachusetts: Addison-Wesley, 1997. 1–650Google Scholar
  15. 15.
    Penttonen M, Katajainen J. Notes on the complexity of sorting in abstract machines. BIT, 1985, 25(4): 611–622zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Han Y J. Deterministic sorting in O(nlog log n) time and linear space. In: STOC’ 02: Proceedings of the Thirty-fourth Annual ACM Symposium on Theory of Computing, Quebec, 2002. 602–608Google Scholar
  17. 17.
    Thorup M. Integer priority queues with decrease key in constant time and the single source shortest paths problem. J Comput Syst Sci, 2004, 69(3): 330–353zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Thorup M. On RAM priority queues. SIAM J Comput, 2000, 30(1): 86–109zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Arge L, Bender M A, Demaine E D, et al. Cache-oblivious priority queue and graph algorithm applications. In: STOC’ 02: Proceedings of the Thiry-fourth Annual ACM Symposium on Theory of Computing, Québec, 2002. 268–276Google Scholar
  20. 20.
    Yang L, Song T. The array-based bucket sort algorithm. J Comput Res Devel, 2007, 44(2): 341–347CrossRefMathSciNetGoogle Scholar
  21. 21.
    Yang J W, Liu J. Quick page sorting algorithm based on quick sorting. Comput Eng, 2005, 31(4): 82–84Google Scholar
  22. 22.
    Zhong H, Chen Q H, Liu G S. A byte-guick sorting algorithm. Comput Eng, 2002, 28(12): 39–40Google Scholar
  23. 23.
    Huo H W, Xu J. A study on quicksort algorithm. Microelectr Comput, 2002, 19(6): 6–9Google Scholar
  24. 24.
    Tang W T, Mong Goh R S, Thng I L. Ladder queue: An O(1) priority queue structure for large-scale discrete event simulation. ACM Trans Model Comput Simul, 2005, 15(3): 175–204CrossRefGoogle Scholar

Copyright information

© Science in China Press and Springer-Verlag GmbH 2009

Authors and Affiliations

  1. 1.Institute of Computer Graphics and Image ProcessingZhejiang UniversityHangzhouChina
  2. 2.State Key Laboratory of CAD & CGZhejiang UniversityHangzhouChina

Personalised recommendations