Concise Notes on Data Structures and Algorithms
Publisher: Bookboon.com
Published: 2013
Place of publication: London
Language: eng
ISBN-13: 9788740302738
Table of contents: title: Obsah; title: Preface; title: Introduction; title: What Are Data Structures and Algorithms?; title: Structure of the Book; title: The Ruby Programming Language; title: Review Questions; title: Exercises; title: Review Question Answers; title: Built-In Types; title: Simple and Structured Types; title: Types in Ruby; title: Symbol: A Simple Type in Ruby; title: Range: A Structured Type in Ruby; title: Review Questions; title: Exercises; title: Review Question Answers; title: Arrays; title: Introduction; title: Varieties of Arrays; title: Arrays in Ruby; title: Review Questions; title: Exercises; title: Review Question Answers; title: Assertions; title: Introduction; title: Types of Assertions; title: Assertions and Abstract Data Types; title: Using Assertions; title: Assertions in Ruby; title: Review Questions; title: Exercises; title: Review Question Answers; title: Containers; title: Introduction; title: Varieties of Containers; title: A Container Taxonomy; title: Interfaces in Ruby; title: Review Questions; title: Exercises; title: Review Question Answers; title: Stacks; title: Introduction; title: The Stack ADT; title: The Stack Interface; title: Using Stacks—An Example; title: Contiguous Implementation of the Stack ADT; title: Linked Implementation of the Stack ADT; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Queues; title: Introduction; title: The Queue ADT; title: The Queue Interface; title: Using Queues—An Example; title: Contiguous Implementation of the Queue ADT; title: Linked Implementation of the Queue ADT; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Stacks and Recursion; title: Introduction; title: Balanced Brackets; title: Infix, Prefix, and Postfix Expressions; title: Tail Recursive Algorithms; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Collections; title: Introduction; title: Iteration Design Alternatives; title: The Iterator Design Pattern; title: Iteration in Ruby; title: Collections, Iterators, and Containers; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Lists; title: Introduction; title: The List ADT; title: The List Interface; title: An Example of Using Lists; title: Contiguous Implementation of the List ADT; title: Linked Implementation of the List ADT; title: Implementing Lists in Ruby; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Analyzing Algorithms; title: Introduction; title: Measuring the Amount of Work Done; title: The Size of the Input; title: Which Operations to Count; title: Best, Worst, and Average Case Complexity; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Function Growth Rates; title: Introduction; title: Definitions and Notation; title: Establishing the Order of Growth of a Function; title: Applying Orders of Growth; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Basic Sorting Algorithms; title: Introduction; title: Bubble Sort; title: Selection Sort; title: Insertion Sort; title: Shell Sort; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Recurrences; title: Introduction; title: Setting Up Recurrences; title: Solving Recurrences; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Merge sort and Quicksort; title: Introduction; title: Merge Sort; title: Quicksort; title: Improvements to Quicksort; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Trees, Heaps, and Heapsort; title: Introduction; title: Basic Terminology; title: Binary Trees; title: Heaps; title: Heapsort; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Binary Trees; title: Introduction; title: The Binary Tree ADT; title: The Binary Tree Class; title: Contiguous Implementation of Binary Trees; title: Linked Implementation of Binary Trees; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Binary Search and Binary Search Trees; title: Introduction; title: Binary Search; title: Binary Search Trees; title: The Binary Search Tree Class; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Sets; title: Introduction; title: The Set ADT; title: The Set Interface; title: Contiguous Implementation of Sets; title: Linked Implementation of Sets; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Maps; title: Introduction; title: The Map ADT; title: The Map Interface; title: Contiguous Implementation of the Map ADT; title: Linked Implementation of the Map ADT; title: Summary and Conclusion; title: Exercises; title: Review Question Answers; title: Hashing; title: Introduction; title: The Hashing Problem; title: Hash Functions; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Hashed Collections; title: Introduction; title: Hash Tablets; title: HashSets; title: HashMaps; title: Implementing Hashed Collections in Ruby; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Graphs; title: Introduction; title: Directed and Undirected Graphs; title: Basic Terminology; title: The Graph ADT; title: The Graph Class; title: Contiguous Implementation of the Graph ADT; title: Linked Implementation of the Graph ADT; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Graph Algorithms; title: Introduction; title: Graph Algorithms in Ruby; title: Searching Graphs; title: Depth-First Search; title: Breadth-First Search; title: Paths in a Graph; title: Connected Graphs and Spanning Trees; title: Summary and Conclusion; title: Review Questions; title: Exercises; title: Review Question Answers; title: Glossary