Skip to content

byue/Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms

This repository contains a collection of Python implementations of fundamental and advanced algorithms and data structures. It is designed for general-purpose use, including problem-solving, academic learning, and technical interview preparation. The algorithms cover a broad range of topics, from classic data structures to modern techniques, and aim to provide both efficient solutions and clear code examples to enhance your understanding of algorithm design and optimization.

Prerequisites

Ensure Python3 is installed.

Installation and Running

To get started with the repository, follow these steps:

  1. Clone the repository:

    git clone https://github.com/byue/Algorithms.git
    cd Algorithms
  2. Install Dependencies (venv) and Run Unit Tests: Install dependencies and run unit tests:

    make

    Install can be done separately:

    make install

    Running unit tests can be done separately:

    make test
  3. Clean up Build Artifacts: Delete build artifacts:

    make clean
    

Contributing

We welcome contributions to this project! If you'd like to contribute, follow these steps:

  1. Fork the repository and clone it to your local machine.
  2. Create a new branch for your feature or bug fix.
  3. Write tests for any new functionality or changes.
  4. Make sure all tests pass by running make test before submitting your pull request.
  5. Submit a pull request with a detailed explanation of your changes.

Please ensure your code follows the existing style and includes sufficient documentation.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

By contributing to this repository, you agree that your contributions will be licensed under the MIT License.

Acknowledgments

The algorithms and data structures concepts in this repository were inspired by courses from the following institutions:

  • Princeton University Coursera Courses: These courses offer a deep dive into algorithms and data structures. See Algorithms, Part I and Algorithms, Part II for more details.

  • MIT OpenCourseWare: The Introduction to Algorithms course as well as the Design and Analysis of Algorithms course from MIT OpenCourseWare provided key insights and methodologies for this project.

  • University of Washington CSE 421: The CSE 421: Algorithms Lecture Notes served as another essential reference for the development of algorithmic techniques in this repository.

  • Introduction to Algorithms, Fourth Edition, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Published by The MIT Press in April 2022. ISBN: 978-0262046305. Link to MIT Press.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors