Abstract

Publisher Summary This chapter presents the design (with analysis) of efficient computer algorithms. There is an interrelationship between mathematical insight, data structures, and the design (with analysis) of provably efficient algorithms. The process of designing an efficient algorithm is interwoven with its analysis, the analysis of the data structures to be used, and often with the discovery of mathematical structure underlying the problem that the algorithm is to solve. The chapter discusses sequential algorithms, parallel algorithms, randomized algorithms, parametric algorithms, distributed algorithms, amortized time analysis, approximation algorithms, all-for-one results, results based on preprocessing, and strong versus weak polynomial time algorithms. The chapter also presents the problem of efficiently computing a maximum network flow and minimum-cut, where the computation is to be done on a sequential machine (RAM model) and the measure of goodness of an algorithm is its worst-case running time.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call