Abstract
Rope is a tree-based data structure providing performance enhancements in string concatenation operations in applications such as text editors. Even though collaborative text editing has become one of the major applications in cloud environments, utilizing ropes in collaborative text editing is rarely discussed in current literature. In this study, we enhance the Rope data structure for collaborative text editing. Firstly we discuss possible issues that Ropes may suffer in collaborative text editing and propose enhancements that adapt Ropes to such environments. During this adaptation we pay special attention to keep Ropes' immutable nature for the insert operations and balance the tree by following AVL-tree-style and Red-Black-Tree-style methods. We also provide a performance comparison of those balancing approaches. In our results, it can be seen that the AVL-Rope and Red-Black-Rope are slower in the concatenation operation due to balancing, but faster in index search operation and insert operation than the unbalanced Rope.
Original language | English |
---|---|
Title of host publication | Proceedings - 2023 Congress in Computer Science, Computer Engineering, and Applied Computing, CSCE 2023 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 2593-2599 |
Number of pages | 7 |
ISBN (Electronic) | 9798350327595 |
DOIs | |
Publication status | Published - 2023 |
Event | 2023 Congress in Computer Science, Computer Engineering, and Applied Computing, CSCE 2023 - Las Vegas, United States Duration: 24 Jul 2023 → 27 Jul 2023 |
Publication series
Name | Proceedings - 2023 Congress in Computer Science, Computer Engineering, and Applied Computing, CSCE 2023 |
---|
Conference
Conference | 2023 Congress in Computer Science, Computer Engineering, and Applied Computing, CSCE 2023 |
---|---|
Country/Territory | United States |
City | Las Vegas |
Period | 24/07/23 → 27/07/23 |
Bibliographical note
Publisher Copyright:© 2023 IEEE.
Keywords
- Balanced trees
- Collaborative text editing
- Rope data structure
- String processing