\chapter*{Acknowledgments}
I would like to express my gratitude to my advisor, Dr. Sharath Raghvendra for his exemplary guidance throughout my research work. His enthusiasm for algorithms is very contagious and the brainstorming sessions with him were highly rewarding. His expertise in the field greatly helped me validate my ideas and to stay on track. He was also easy to approach and made himself available for quick meetings and discussions, even on weekends. This enabled me to finish this work in a timely fashion. His attention to details helped me address any inconsistencies in my thesis write up, improving its quality immensely. 

My sincere thanks to Dr. Anil Vullikanti for agreeing to chair my thesis committee and for taking the time to handle my graduate school paperwork and other administrative issues. 

I am grateful to both Dr. Anil Vullikanti and Dr. Haibo Zeng for carefully reviewing my thesis and providing valuable feedback.

Apart from my committee members, I would like to thank my lab mate Nathaniel Lahn for all the enriching white board discussions. I am also grateful for the support and motivation that I received from my family and friends.