Code Monkey home page Code Monkey logo

data-structure-zoo's Introduction

Data-Structures-Zoo

An educational repo for students looking to learn about data structures in Python. While this is based on a Java class, this resource will be using Python idioms. Currently 60% Done!

Imgur
Relevant xkcd

Table of Contents

  1. Object-oriented Programming
  2. Algorithm Analysis
  3. Sorting
  4. Generics
  5. Collections and Iterators
  6. Stack and its Applications
  7. Queue
  8. Tree
  9. Map
  10. Graphs

Introduction

First of all, congratulations! You probably just finished a tutorial or class on Python, but it left you wanting more. Your curiosity has led you to learn more about the fun things you can do in Python. This repo is meant to be a resource for those of you looking to dive into some interesting Computer Science topics. The repository is laid out in a logical order and I suggest completing it in the order prescribed. You'll learn about the basics of OOP, get into some of the math behind algorithm design and dive into the nitty gritty with Stacks, Linked-lists, and even Graphs!

This repo follows both DRY (Don't Repeat Yourself) and TDD (Test Driven Development) principles. Each folder has it's own test.py file. I encourage you to try it out via python test.py. Also as another exercise try modifying the objects that are being tested and break stuff!

Learning how to learn

If you've gotten this far on your curiosity alone, awesome! This repo is laid out in a natural order, if you go out of order it might not make sense. Essentially, a good plan of action is to read the README.md in each folder, look over the comments in the python files, run the test.py file, practice using the objects in another file (using import sorting.py for example), then try making your own!

If you find an error in my writing or python files feel free to create an issue, or if you're savy create a pull request with the fix. Thanks for reading!

data-structure-zoo's People

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.