Description

Book Synopsis

"My absolute favorite for this kind of interview preparation is Steven Skiena’s The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer’s toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. … every 1 – pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types." (Steve Yegge, Get that Job at Google)

"Steven Skiena’s Algorithm Design Manual retains its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … This is the best investment … a programmer or aspiring programmer can make." (Harold Thimbleby, Times Higher Education)

"It is wonderful to open to a random spot and discover an interesting algorithm. This is the only textbook I felt compelled to bring with me out of my student days.... The color really adds a lot of energy to the new edition of the book!" (Cory Bart, University of Delaware)

"The is the most approachable book on algorithms I have." (Megan Squire, Elon University)

---

This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students.

The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography.


NEW to the third edition:

-- New and expanded coverage of randomized algorithms, hashing, divide and conquer, approximation algorithms, and quantum computing

-- Provides full online support for lecturers, including an improved website component with lecture slides and videos

-- Full color illustrations and code instantly clarify difficult concepts

-- Includes several new "war stories" relating experiences from real-world applications

-- Over 100 new problems, including programming-challenge problems from LeetCode and Hackerrank.

-- Provides up-to-date links leading to the best implementations available in C, C++, and Java

Additional Learning Tools:

-- Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them

-- Exercises include "job interview problems" from major software companies

-- Highlighted "take home lessons" emphasize essential concepts

-- The "no theorem-proof" style provides a uniquely accessible and intuitive approach to a challenging subject

-- Many algorithms are presented with actual code (written in C)

-- Provides comprehensive references to both survey articles and the primary literature

Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this substantially enhanced third edition of The Algorithm Design Manual is an essential learning tool for students and professionals needed a solid grounding in algorithms. Professor Skiena is also the author of the popular Springer texts, The Data Science Design Manual and Programming Challenges: The Programming Contest Training Manual.



Table of Contents

Introduction to Algorithm Design

Algorithm Analysis

Data Structures

Sorting and Searching

Divide and Conquer

Randomized Algorithms and Hashing

Graph Traversal

Weighted Graph Algorithms

Combinatorial Search and Heuristic Methods

Dynamic Programming

NP-Completeness

Dealing with Hard Problems

How to Design Algorithms

14 A Catalog of Algorithmic Problems 437

15 Data Structures 439

15.1 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

15.2 Priority Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

15.3 Sux Trees and Arrays . . . . . . . . . . . . . . . . . . . . . . . 448

15.4 Graph Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 452

15.5 Set Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . 456

15.6 Kd-Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

16 Numerical Problems 465

16.1 Solving Linear Equations . . . . . . . . . . . . . . . . . . . . . . 467

16.2 Bandwidth Reduction . . . . . . . . . . . . . . . . . . . . . . . . 470

16.3 Matrix Multiplication . . . . . . . . . . . . . . . . . . . . . . . . 472

16.4 Determinants and Permanents . . . . . . . . . . . . . . . . . . . 475

16.5 Constrained/Unconstrained Optimization . . . . . . . . . . . . . 478

16.6 Linear Programming . . . . . . . . . . . . . . . . . . . . . . . . . 482

16.7 Random Number Generation . . . . . . . . . . . . . . . . . . . . 486

16.8 Factoring and Primality Testing . . . . . . . . . . . . . . . . . . . 490

16.9 Arbitrary-Precision Arithmetic . . . . . . . . . . . . . . . . . . . 493

16.10Knapsack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 497

16.11Discrete Fourier Transform . . . . . . . . . . . . . . . . . . . . . 501

17 Combinatorial Problems 505

17.1 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

17.2 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

17.3 Median and Selection . . . . . . . . . . . . . . . . . . . . . . . . . 514

17.4 Generating Permutations . . . . . . . . . . . . . . . . . . . . . . 517

17.5 Generating Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . 521

17.6 Generating Partitions . . . . . . . . . . . . . . . . . . . . . . . . 524

17.7 Generating Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 528

17.8 Calendrical Calculations . . . . . . . . . . . . . . . . . . . . . . . 532

17.9 Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

17.10Satisability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

18 Graph Problems: Polynomial-Time 541

18.1 Connected Components . . . . . . . . . . . . . . . . . . . . . . . 542

18.2 Topological Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . 546

18.3 Minimum Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . 549

18.4 Shortest Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

18.5 Transitive Closure and Reduction . . . . . . . . . . . . . . . . . . 559

18.6 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

18.7 Eulerian Cycle/Chinese Postman . . . . . . . . . . . . . . . . . . 565

18.8 Edge and Vertex Connectivity . . . . . . . . . . . . . . . . . . . . 568

16 CONTENTS

18.9 Network Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

18.10Drawing Graphs Nicely . . . . . . . . . . . . . . . . . . . . . . . 574

18.11Drawing Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578

18.12Planarity Detection and Embedding . . . . . . . . . . . . . . . . 581

19 Graph Problems: NP-Hard 585

19.1 Clique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

19.2 Independent Set . . . . . . . . . . . . . . . . . . . . . . . . . . . 589

19.3 Vertex Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

19.4 Traveling Salesman Problem . . . . . . . . . . . . . . . . . . . . . 594

19.5 Hamiltonian Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 598

19.6 Graph Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601

19.7 Vertex Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604

19.8 Edge Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608

19.9 Graph Isomorphism . . . . . . . . . . . . . . . . . . . . . . . . . 610

19.10Steiner Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614

19.11Feedback Edge/Vertex Set . . . . . . . . . . . . . . . . . . . . . . 618

20 Computational Geometry 621

20.1 Robust Geometric Primitives . . . . . . . . . . . . . . . . . . . . 622

20.2 Convex Hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.3 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

20.4 Voronoi Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 634

20.5 Nearest Neighbor Search . . . . . . . . . . . . . . . . . . . . . . . 637

20.6 Range Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

20.7 Point Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644

20.8 Intersection Detection . . . . . . . . . . . . . . . . . . . . . . . . 648

20.9 Bin Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652

20.10Medial-Axis Transform . . . . . . . . . . . . . . . . . . . . . . . . 655

20.11Polygon Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . 658

20.12Simplifying Polygons . . . . . . . . . . . . . . . . . . . . . . . . . 661

20.13Shape Similarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

20.14Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 667

20.15Maintaining Line Arrangements . . . . . . . . . . . . . . . . . . . 671

20.16Minkowski Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674

21 Set and String Problems 677

21.1 Set Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678

21.2 Set Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682

21.3 String Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

21.4 Approximate String Matching . . . . . . . . . . . . . . . . . . . . 688

21.5 Text Compression . . . . . . . . . . . . . . . . . . . . . . . . . . 693

21.6 Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697

21.7 Finite State Machine Minimization . . . . . . . . . . . . . . . . . 702

21.8 Longest Common Substring/Subsequence . . . . . . . . . . . . . 706

21.9 Shortest Common Superstring . . . . . . . . . . . . . . . . . . . . 709

CONTENTS 17

22 Algorithmic Resources 713

22.1 Algorithm Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 713

22.1.1 LEDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713

22.1.2 CGAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714

22.1.3 Boost Graph Library . . . . . . . . . . . . . . . . . . . . . 714

22.1.4 Netlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714

22.1.5 Collected Algorithms of the ACM . . . . . . . . . . . . . 715

22.1.6 GitHub and SourceForge . . . . . . . . . . . . . . . . . . . 715

22.1.7 The Stanford GraphBase . . . . . . . . . . . . . . . . . . 715

22.1.8 Combinatorica . . . . . . . . . . . . . . . . . . . . . . . . 716

22.1.9 Programs from Books . . . . . . . . . . . . . . . . . . . . 716

22.2 Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

22.3 Online Bibliographic Resources . . . . . . . . . . . . . . . . . . . 718

22.4 Professional Consulting Services . . . . . . . . . . . . . . . . . . 718

23 Bibliography 719

Index 771

The Algorithm Design Manual

    Product form

    £58.49

    Includes FREE delivery

    RRP £64.99 – you save £6.50 (10%)

    Order before 4pm today for delivery by Thu 18 Jun 2026.

    A Hardback by Steven S. Skiena

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of The Algorithm Design Manual by Steven S. Skiena

      Publisher: Springer Nature Switzerland AG
      Publication Date: 06/10/2020
      ISBN13: 9783030542559, 978-3030542559
      ISBN10: 3030542556

      Description

      Book Synopsis

      "My absolute favorite for this kind of interview preparation is Steven Skiena’s The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer’s toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. … every 1 – pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types." (Steve Yegge, Get that Job at Google)

      "Steven Skiena’s Algorithm Design Manual retains its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … This is the best investment … a programmer or aspiring programmer can make." (Harold Thimbleby, Times Higher Education)

      "It is wonderful to open to a random spot and discover an interesting algorithm. This is the only textbook I felt compelled to bring with me out of my student days.... The color really adds a lot of energy to the new edition of the book!" (Cory Bart, University of Delaware)

      "The is the most approachable book on algorithms I have." (Megan Squire, Elon University)

      ---

      This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students.

      The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography.


      NEW to the third edition:

      -- New and expanded coverage of randomized algorithms, hashing, divide and conquer, approximation algorithms, and quantum computing

      -- Provides full online support for lecturers, including an improved website component with lecture slides and videos

      -- Full color illustrations and code instantly clarify difficult concepts

      -- Includes several new "war stories" relating experiences from real-world applications

      -- Over 100 new problems, including programming-challenge problems from LeetCode and Hackerrank.

      -- Provides up-to-date links leading to the best implementations available in C, C++, and Java

      Additional Learning Tools:

      -- Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them

      -- Exercises include "job interview problems" from major software companies

      -- Highlighted "take home lessons" emphasize essential concepts

      -- The "no theorem-proof" style provides a uniquely accessible and intuitive approach to a challenging subject

      -- Many algorithms are presented with actual code (written in C)

      -- Provides comprehensive references to both survey articles and the primary literature

      Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this substantially enhanced third edition of The Algorithm Design Manual is an essential learning tool for students and professionals needed a solid grounding in algorithms. Professor Skiena is also the author of the popular Springer texts, The Data Science Design Manual and Programming Challenges: The Programming Contest Training Manual.



      Table of Contents

      Introduction to Algorithm Design

      Algorithm Analysis

      Data Structures

      Sorting and Searching

      Divide and Conquer

      Randomized Algorithms and Hashing

      Graph Traversal

      Weighted Graph Algorithms

      Combinatorial Search and Heuristic Methods

      Dynamic Programming

      NP-Completeness

      Dealing with Hard Problems

      How to Design Algorithms

      14 A Catalog of Algorithmic Problems 437

      15 Data Structures 439

      15.1 Dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

      15.2 Priority Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

      15.3 Sux Trees and Arrays . . . . . . . . . . . . . . . . . . . . . . . 448

      15.4 Graph Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 452

      15.5 Set Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . 456

      15.6 Kd-Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

      16 Numerical Problems 465

      16.1 Solving Linear Equations . . . . . . . . . . . . . . . . . . . . . . 467

      16.2 Bandwidth Reduction . . . . . . . . . . . . . . . . . . . . . . . . 470

      16.3 Matrix Multiplication . . . . . . . . . . . . . . . . . . . . . . . . 472

      16.4 Determinants and Permanents . . . . . . . . . . . . . . . . . . . 475

      16.5 Constrained/Unconstrained Optimization . . . . . . . . . . . . . 478

      16.6 Linear Programming . . . . . . . . . . . . . . . . . . . . . . . . . 482

      16.7 Random Number Generation . . . . . . . . . . . . . . . . . . . . 486

      16.8 Factoring and Primality Testing . . . . . . . . . . . . . . . . . . . 490

      16.9 Arbitrary-Precision Arithmetic . . . . . . . . . . . . . . . . . . . 493

      16.10Knapsack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 497

      16.11Discrete Fourier Transform . . . . . . . . . . . . . . . . . . . . . 501

      17 Combinatorial Problems 505

      17.1 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

      17.2 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

      17.3 Median and Selection . . . . . . . . . . . . . . . . . . . . . . . . . 514

      17.4 Generating Permutations . . . . . . . . . . . . . . . . . . . . . . 517

      17.5 Generating Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . 521

      17.6 Generating Partitions . . . . . . . . . . . . . . . . . . . . . . . . 524

      17.7 Generating Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 528

      17.8 Calendrical Calculations . . . . . . . . . . . . . . . . . . . . . . . 532

      17.9 Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

      17.10Satisability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

      18 Graph Problems: Polynomial-Time 541

      18.1 Connected Components . . . . . . . . . . . . . . . . . . . . . . . 542

      18.2 Topological Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . 546

      18.3 Minimum Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . 549

      18.4 Shortest Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

      18.5 Transitive Closure and Reduction . . . . . . . . . . . . . . . . . . 559

      18.6 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

      18.7 Eulerian Cycle/Chinese Postman . . . . . . . . . . . . . . . . . . 565

      18.8 Edge and Vertex Connectivity . . . . . . . . . . . . . . . . . . . . 568

      16 CONTENTS

      18.9 Network Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

      18.10Drawing Graphs Nicely . . . . . . . . . . . . . . . . . . . . . . . 574

      18.11Drawing Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578

      18.12Planarity Detection and Embedding . . . . . . . . . . . . . . . . 581

      19 Graph Problems: NP-Hard 585

      19.1 Clique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

      19.2 Independent Set . . . . . . . . . . . . . . . . . . . . . . . . . . . 589

      19.3 Vertex Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

      19.4 Traveling Salesman Problem . . . . . . . . . . . . . . . . . . . . . 594

      19.5 Hamiltonian Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 598

      19.6 Graph Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601

      19.7 Vertex Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604

      19.8 Edge Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608

      19.9 Graph Isomorphism . . . . . . . . . . . . . . . . . . . . . . . . . 610

      19.10Steiner Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614

      19.11Feedback Edge/Vertex Set . . . . . . . . . . . . . . . . . . . . . . 618

      20 Computational Geometry 621

      20.1 Robust Geometric Primitives . . . . . . . . . . . . . . . . . . . . 622

      20.2 Convex Hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

      20.3 Triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

      20.4 Voronoi Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 634

      20.5 Nearest Neighbor Search . . . . . . . . . . . . . . . . . . . . . . . 637

      20.6 Range Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

      20.7 Point Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644

      20.8 Intersection Detection . . . . . . . . . . . . . . . . . . . . . . . . 648

      20.9 Bin Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652

      20.10Medial-Axis Transform . . . . . . . . . . . . . . . . . . . . . . . . 655

      20.11Polygon Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . 658

      20.12Simplifying Polygons . . . . . . . . . . . . . . . . . . . . . . . . . 661

      20.13Shape Similarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

      20.14Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 667

      20.15Maintaining Line Arrangements . . . . . . . . . . . . . . . . . . . 671

      20.16Minkowski Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674

      21 Set and String Problems 677

      21.1 Set Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678

      21.2 Set Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682

      21.3 String Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

      21.4 Approximate String Matching . . . . . . . . . . . . . . . . . . . . 688

      21.5 Text Compression . . . . . . . . . . . . . . . . . . . . . . . . . . 693

      21.6 Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697

      21.7 Finite State Machine Minimization . . . . . . . . . . . . . . . . . 702

      21.8 Longest Common Substring/Subsequence . . . . . . . . . . . . . 706

      21.9 Shortest Common Superstring . . . . . . . . . . . . . . . . . . . . 709

      CONTENTS 17

      22 Algorithmic Resources 713

      22.1 Algorithm Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 713

      22.1.1 LEDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713

      22.1.2 CGAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714

      22.1.3 Boost Graph Library . . . . . . . . . . . . . . . . . . . . . 714

      22.1.4 Netlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714

      22.1.5 Collected Algorithms of the ACM . . . . . . . . . . . . . 715

      22.1.6 GitHub and SourceForge . . . . . . . . . . . . . . . . . . . 715

      22.1.7 The Stanford GraphBase . . . . . . . . . . . . . . . . . . 715

      22.1.8 Combinatorica . . . . . . . . . . . . . . . . . . . . . . . . 716

      22.1.9 Programs from Books . . . . . . . . . . . . . . . . . . . . 716

      22.2 Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

      22.3 Online Bibliographic Resources . . . . . . . . . . . . . . . . . . . 718

      22.4 Professional Consulting Services . . . . . . . . . . . . . . . . . . 718

      23 Bibliography 719

      Index 771

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account