One of the major concerns in wireless ad-hoc networks design is energy efficiency. Wireless devices are typically equipped with a limited energy supply sufficient only for a limited amount of time which is reversely proportional to the transmission power of the device. The network lifetime is defined as the time the first device runs out of its initial energy charge. In this paper we study the maximum network lifetime problem for broadcast and data gathering in wireless settings. We provide polynomial time approximation algorithms, with guaranteed performance bounds while considering omnidirectional and unidirectional transmissions. We also consider an extended variant of the maximum lifetime problem, which simultaneously satisfies additional constraints, such as bounded hop-diameter and degree of the routing tree, and minimizing the total energy used in a single transmission. Finally, we evaluate the performance of some of our algorithms through simulations.