Algorithms for Wireless and Ad-Hoc Networks