Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README.md #154

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 35 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
# algorithms

Solved (and usually heavily documented) online judge and classic CS problems as well as
various data structure implementations - almost exclusively in C++.
This repository contains solutions and implementations to various data structures and
algorithms specifically in C++. Judged problems along with other classic CS problems
are also contained within this repository.

## Contents
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for contents, I think it might actually make sense to have a more concrete and deep structure. Right now these are just lists of folder names with no links really. Maybe we could have a table of contents in list form, kind of like this: https://github.com/domfarolino/mage#table-of-contents but where each indentation level is a new folder depth. So:

  • algorithm_practice
    • ACM_ICPC_Archive
    • Array_Algorithms
    • ....
  • datastructures
    • binary_search_tree
    • linked_list

This, and we can make each entry a relative link to the respective folder.

### 1. Data Structures

Binary Search Tree, Linked List, Min Heap, Queue, Queue from stacks, Stack, Vector

### 2. Algorithms

Array Algorithms, Bit Manipulation, Combinatorics, Data Structure Algorithms, Dynamic Programming
Geometry, Number Algorithms, Searching and Sorting, String Algorithms. For more information
Go into **file** (**Here.** [`algorithms`](./src/algorithm_practice))

## Purpose

The purpose of this repository is to act as a curation of

Expand All @@ -17,3 +31,22 @@ the understanding of techniques and concepts is easily transferred. Inside the `
see the folders `algorithm_practice` and `datastructures`. The contents of these folder is pretty
obvious, but each one has its own accompanying documentation to further explain the file structure and
organization involved.

## Usage

Each algorithm and data structure is contained in its own C++ .h file for datastructures
and .cpp file for algorithms. Maintain this format along with providing a readme when
adding a new data structure or algorithm.

## Contributing

Feel free to fork the repository and add your own data structures and algorithms.
Adding these new features and creating pull requests are welcomed!

## Contributors

[<img src="https://contrib.rocks/image?repo=domfarolino/algorithms">](https://github.com/domfarolino/algorithms/graphs/contributors)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is really cool!


## License

[MIT](./LICENSE)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is actually no license file. This link is dead. We should probably remove this section and maybe in another PR add a license (and add this section back).