Data Structures and Algorithms
Primary version
Primary version
  • Data Structures and Algorithms
  • Algorithms Analysis
    • Measuring Resource Consumption
    • Growth Rates
    • Asymptotic Notation
    • Analysis of Linear Search
    • Analysis of Binary Search
    • How to do an analysis in 5 steps
  • Recursion
    • Writing a recursive function
    • How do recursive functions work?
    • Analysis of a Recursive Function
    • Drawbacks of Recursion and Caution
  • Lists
    • Implementation
    • Linked List
      • Concepts
      • Implementation - List and Nodes
      • Implementation - push_front(), pop_front()
      • Implementation - Iterators
      • Modification - Sentinel Nodes
  • Stacks and Queues
    • Stack Implementation
    • Queue Implementation
  • Table
    • A Simple Implementation
    • Hash Tables
      • Bucketing
      • Chaining
      • Linear Probing
  • Sorting
    • Simple Sorts
      • Bubble Sort
      • Insertion Sort
      • Selection Sort
    • Merge Sort
    • Quick Sort
    • Heap and Heap Sort
      • Priority Queues using Binary Heaps
      • Heapify and Heap Sort
  • Trees
    • Binary Trees
    • Binary Search Trees
    • BST Implemenation
    • Iterative Methods
    • Recursive Methods
  • AVL Trees
  • Red Black Trees
  • 2-3 Trees
  • Graphs
  • Introduction to Computational Theory
  • Appendix: Markdown
  • Appendix: Mathematics Review
Powered by GitBook
On this page

Data Structures and Algorithms

Introduction

Data structures and algorithms looks at how data for computer programs can best be represented and processed. This book is a survey of several standard algorithms and data structures. It will also introduce the methodology used to perform a formal analysis of an algorithm so that the reason behind the different implementations can be better understood.

This book is not an introductory programming book. C/C++ will be used as the language for examples. However, there will not be much of a discussion about C/C++ syntax if at all. If there is a discussion of syntax, it will be in the context of data structures and algorithms. Although the language used in this book for the coding examples is C++, you can just as easily use other languages to implement the algorithms and data structures introduced here. Remember to focus on the algorithms and data structures itself as opposed to the syntax and language details.

The contents of this book is meant as an introduction to data structures and algorithms. There are many books out there that will do a far better job of formal analysis than this one and go more in depth with different implementations and I highly recommend that you look at other books.

Finally, this book serves as the subject notes for the Data Structures and Algorithms course at Seneca College (Toronto, Ontario, Canada). As such, there will be many code samples that are completed in class as part of the course work and not included here at this time. This may change in the future.

NextAlgorithms Analysis

Last updated 3 years ago