000 03024nam a2200241Ia 4500
003 OSt
005 20231207123107.0
008 140908s9999 xx 000 0 und d
020 _a9781584886730
040 _aNISER LIBRARY
_cNISER LIBRARY
041 _aEnglish
082 _a004.421
_bLEI-P
100 _aLeiss, Ernst L.
245 _aProgrammer's companion to algorithm analysis
_c/ by Ernst L. Leiss
260 _aBoca Raton:
_bChapman & Hall/CRC,
_c2007
300 _a255p.
500 _aIncludes bibliography, and index.
505 _aPART 1 THE ALGORITHM SIDE: REGULARITY, PREDICTABILITY, AND ASYMPTOTICS A Taxonomy of Algorithmic Complexity Fundamental Assumptions Underlying Algorithmic Complexity Examples of Complexity Analysis PART 2 THE SOFTWARE SIDE: DISAPPOINTMENTS AND HOW TO AVOID THEM Sources of Disappointments Implications of Nonuniform Memory for Software Implications of Compiler and Systems Issues for Software Implicit Assumptions Implications of the Finiteness of the Representation of Numbers Asymptotic Complexities and the Selection of Algorithms Infeasibility and Undecidability: Implications for Software Development PART 3 CONCLUSION Appendix I: Algorithms Every Programmer Should Know Appendix II: Overview of Systems Implicated in Program Analysis Appendix III: NP-Completeness and Higher Complexity Classes Appendix IV: Review of Undecidability BIBLIOGRAPHY INDEX
520 _aUntil now, no other book examined the gap between the theory of algorithms and the production of software programs. Focusing on practical issues, A Programmer's Companion to Algorithm Analysis carefully details the transition from the design and analysis of an algorithm to the resulting software program. Consisting of two main complementary parts, the book emphasizes the concrete aspects of translating an algorithm into software that should perform based on what the algorithm analysis indicated. In the first part, the author describes the idealized universe that algorithm designers inhabit while the second part outlines how this ideal can be adapted to the real world of programming. The book explores analysis techniques, including crossover points, the influence of the memory hierarchy, implications of programming language aspects, such as recursion, and problems arising from excessively high computational complexities of solution methods. It concludes with four appendices that discuss basic algorithms; memory hierarchy, virtual memory management, optimizing compilers, and garbage collection; NP-completeness and higher complexity classes; and undecidability in practical terms. Applying the theory of algorithms to the production of software, A Programmer's Companion to Algorithm Analysis fulfills the needs of software programmers and developers as well as students by showing that with the correct algorithm, you can achieve a functional software program.
650 _aProgramming (Mathematics)
650 _aAlgorithms
_xData processing
942 _cBK
_2udc
999 _c6364
_d6364