/datastructures-algorithms

Completing the Book: Problem Solving with Algorithms and Data Structures using Python

Primary LanguagePython

Problem Solving with Data Structures and Algorithms

Completing the exercises and chapters in this book: https://interactivepython.org/runestone/static/pythonds/index.html

Why study Algorithms and Data Structures

Computer scientists learn by experience. We learn by seeing others solve problems and by solving problems by ourselves. Being exposed to different problem-solving techniques and seeing how different algorithms are designed helps us to take on the next challenging problem that we are given. By considering a number of different algorithms, we can begin to develop pattern recognition so that the next time a similar problem arises, we are better able to solve it.

There will often be trade-offs that we will need to identify and decide upon. As computer scientists, in addition to our ability to solve problems, we will also need to know and understand solution evaluation techniques. In the end, there are often many ways to solve a problem. Finding a solution and then deciding whether it is a good one are tasks that we will do over and over again.

Chapters

Introduction

Analysis

Basic Data Structures

Recursion

Sorting and Searching

Trees and Tree Algorithms

Graphs and Graph Algorithms