Essential Information that Every Serious Programming Student Needs to Know about Algorithms and Data Structures
A Classic Reference
The latest version of Sedgewick's best-selling series, reflecting an indispensable body of knowledge developed over the past several decades.
Broad Coverage
Full treatment of data structures and algorithms for sorting, searching, graph processing, string processing, and geometric applications, including fifty algorithms every programmer should know. See www.cs.princeton.edu/algs4/top50 .
Completely Revised Code
New Java implementations written in an accessible, modular programming style, where all of the code is exposed to the reader and ready to use. New versions of quicksort, LZW compression, red-black tree search, RE pattern matching, and many other algorithms.
Engages with Applications
Algorithms are studied in the context of important scientific, engineering, and commercial applications. Clients and algorithms are expressed in real code, not the pseudo-code found in many other books.
Intellectually Stimulating
Engages reader interest with clear, concise text, detailed examples with visuals, carefully crafted code, historical and scientific context, and exercises at all levels.
A Scientific Approach
Develops precise statements about performance, supported by appropriate mathematical models and empirical studies validating those models.
Integrated with the Web
Visit www.cs.princeton.edu/algs4 for a freely accessible, comprehensive Web site, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources.
Product Description
This fourth edition of Robert Sedgewick and Kevin Wayne’s Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing -- including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.
The companion web site, algs4.cs.princeton.edu contains
An online synopsis
Full Java implementations
Test data
Exercises and answers
Dynamic visualizations
Lecture slides
Programming assignments with checklists
Links to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu . The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
Features + Benefits
The #1 practical resource for everyone seeking to run programs faster or solve larger problems
Surveys today's most useful algorithms, with copious illustrations and examples
Contains many new examples, ranging from physics, biology, and engineering to data compression and web search
Contains real (not pseudocode) implementations, with detailed performance insights
A companion web site, algs4.cs.princeton.edu , with many more resources for instructors, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources
Preface viii
Chapter 1: Fundamentals 3
1.1 Basic Programming Model 8
1.2 Data Abstraction 64
1.3 Bags, Queues, and Stacks 120
1.4 Analysis of Algorithms 172
1.5 Case Study: Union-Find 216
Chapter 2: Sorting 243
2.1 Elementary Sorts 244
2.2 Mergesort 270
2.3 Quicksort 288
2.4 Priority Queues 308
2.5 Applications 336
Chapter 3: Searching 361
3.1 Symbol Tables 362
3.2 Binary Search Trees 396
3.3 Balanced Search Trees 424
3.4 Hash Tables 458
3.5 Applications 486
Chapter 4: Graphs 515
4.1 Undirected Graphs 518
4.2 Directed Graphs 566
4.3 Minimum Spanning Trees 604
4.4 Shortest Paths 638
Chapter 5: Strings 695
5.1 String Sorts 702
5.2 Tries 730
5.3 Substring Search 758
5.4 Regular Expressions 788
5.5 Data Compression 810
Chapter 6: Context 853
Index 933
List of Algorithms 954
List of Clients 955
This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is one of the most popular textbooks on algorithms today and is widely used in colleges and universities worldwide. The algorithms in this book - including 50 algorithms every programmer should know - represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering and for students who use computation in the liberal arts. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
The companion web site, algs4.cs.princeton.edu, contains:
An online synopsisFull Java implementationsTest dataExercises and answersDynamic visualizationsLecture slidesProgramming assignments with checklistsLinks to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course, offered each fall and spring, offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their state-of-the-art textbook, online content, and MOOC, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
A Classic Reference
The latest version of Sedgewick's best-selling series, reflecting an indispensable body of knowledge developed over the past several decades.
Broad Coverage
Full treatment of data structures and algorithms for sorting, searching, graph processing, string processing, and geometric applications, including fifty algorithms every programmer should know. See www.cs.princeton.edu/algs4/top50 .
Completely Revised Code
New Java implementations written in an accessible, modular programming style, where all of the code is exposed to the reader and ready to use. New versions of quicksort, LZW compression, red-black tree search, RE pattern matching, and many other algorithms.
Engages with Applications
Algorithms are studied in the context of important scientific, engineering, and commercial applications. Clients and algorithms are expressed in real code, not the pseudo-code found in many other books.
Intellectually Stimulating
Engages reader interest with clear, concise text, detailed examples with visuals, carefully crafted code, historical and scientific context, and exercises at all levels.
A Scientific Approach
Develops precise statements about performance, supported by appropriate mathematical models and empirical studies validating those models.
Integrated with the Web
Visit www.cs.princeton.edu/algs4 for a freely accessible, comprehensive Web site, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources.
Product Description
This fourth edition of Robert Sedgewick and Kevin Wayne’s Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing -- including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.
The companion web site, algs4.cs.princeton.edu contains
An online synopsis
Full Java implementations
Test data
Exercises and answers
Dynamic visualizations
Lecture slides
Programming assignments with checklists
Links to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu . The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
Features + Benefits
The #1 practical resource for everyone seeking to run programs faster or solve larger problems
Surveys today's most useful algorithms, with copious illustrations and examples
Contains many new examples, ranging from physics, biology, and engineering to data compression and web search
Contains real (not pseudocode) implementations, with detailed performance insights
A companion web site, algs4.cs.princeton.edu , with many more resources for instructors, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources
Preface viii
Chapter 1: Fundamentals 3
1.1 Basic Programming Model 8
1.2 Data Abstraction 64
1.3 Bags, Queues, and Stacks 120
1.4 Analysis of Algorithms 172
1.5 Case Study: Union-Find 216
Chapter 2: Sorting 243
2.1 Elementary Sorts 244
2.2 Mergesort 270
2.3 Quicksort 288
2.4 Priority Queues 308
2.5 Applications 336
Chapter 3: Searching 361
3.1 Symbol Tables 362
3.2 Binary Search Trees 396
3.3 Balanced Search Trees 424
3.4 Hash Tables 458
3.5 Applications 486
Chapter 4: Graphs 515
4.1 Undirected Graphs 518
4.2 Directed Graphs 566
4.3 Minimum Spanning Trees 604
4.4 Shortest Paths 638
Chapter 5: Strings 695
5.1 String Sorts 702
5.2 Tries 730
5.3 Substring Search 758
5.4 Regular Expressions 788
5.5 Data Compression 810
Chapter 6: Context 853
Index 933
List of Algorithms 954
List of Clients 955
This fourth edition of Robert Sedgewick and Kevin Wayne's Algorithms is one of the most popular textbooks on algorithms today and is widely used in colleges and universities worldwide. The algorithms in this book - including 50 algorithms every programmer should know - represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering and for students who use computation in the liberal arts. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
The companion web site, algs4.cs.princeton.edu, contains:
An online synopsisFull Java implementationsTest dataExercises and answersDynamic visualizationsLecture slidesProgramming assignments with checklistsLinks to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course, offered each fall and spring, offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their state-of-the-art textbook, online content, and MOOC, they have built a unique resource that greatly expands the breadth and depth of the educational experience.