Dynamic and i/o-efficient algorithms for computational geometry and graph problems: theoretical and experimental results

As most important applications today are large-scale in nature, high-performance methods are becoming indispensable. Two promising computational paradigms for large-scale applications are dynamic and I/O-e cient computations. We give e cient dynamic data structures for several fundamental problems in computational geometry, including point location, ray shooting, shortest path, and minimum-link path. We also develop a collection of new techniques for designing and analyzing I/O-e cient algorithms for graph problems, and illustrate how these techniques can be applied to a wide variety of speci c problems, including list ranking, Euler tour, expression-tree evaluation, least-common ancestors, connected and biconnected components, minimum spanning forest, ear decomposition, topological sorting, reachability, graph drawing, and visibility representation. Finally, we present an extensive experimental study comparing the practical I/O e ciency of four algorithms for the orthogonal segment intersection problem with large-scale test data. The experiments provide detailed quantitative evaluation of the performance of the four algorithms, and the observed behavior of the algorithms is consistent with their theoretical properties. iii Acknowledgements I am deeply grateful to my friend and advisor Roberto Tamassia, who taught me how to do research and also constantly gave me guidance and assistance. I am very lucky to have worked with him. All research in this thesis was performed jointly with Roberto (except Chapter 5, for which I also had a lot of useful discussions with him), and I really enjoyed working with him very much. I would like to thank Franco Preparata for his kind assistance and encouragement. His insight and guidance on research directions also in uenced my research a lot. The research in Chapter 2 was done jointly with him. Interestingly, I attended Franco's invited talk on point location in 1989 in Taiwan before I came to Brown, and that was the initiation of my interests in point location. (At that time Franco was with the University of Illinois and I did not expect to see him at Brown; he came to Brown in 1991|what a coincidence! ) Additionally, I appreciate the involvement of the following colleagues of mine: Michael Goodrich, Edward Grove, Darren Vengro , and Je Vitter. The research in Chapter 4 was done jointly with them. I thank my thesis committee, Franco Preparata and Michael Goodrich, for their helpful suggestions and comments. Many thanks to Je Vitter and Paris Kanellakis for their encouragement and kind help during my stay at Brown. I also thank Tom Doeppner and Peter Galvin for useful information about the computing systems of the Brown CS department while doing the experiments of Chapter 5. I would like to thank the administrative sta , in particular Mary Andrade, Katrina Avery, Jennet Kirschenbaum, Dawn Nicholaus, and Susan Platt, for helping me in many day-to-day matters. Many friends at Brown provided assistance and moral support: Jyh-Han Lin, Wen-Chun Ni, Hsueh-I Lu, Shieu-Hong Lin, Yi-Jing Lin, Tu-Hsin Tsai, Ashim Garg, Ramamurthy Ravi, Sairam Subramanian, P. Krishnan, Sridhar Ramaswamy, Manojit Sarkar, and Paul Howard. I am deeply grateful to my wife Wen-Pei Sophie Hsu, for her constant support and comfort. Every day was sweet and wonderful since our marriage in 1991, and her company made the stay at Brown even more enjoyable. Finally, I thank my father Wen-Jien Arthur Chiang and my mother Ray-Wha Chiang, both of whom passed away right before I entered college. They taught me everything, in particular how to think and how to live. They helped me in establishing the goal of my life, and made me love knowledge. They showed me by themselves that studying was a part of everyday life and was very enjoyable. In addition, my mother taught me how to play the piano, and my father taught me literature, English, and mathematics. I am who I am now because of them. I wish they could read this dissertation. iv