GithubHelp home page GithubHelp logo

vamsisangam / theoryofprogramming Goto Github PK

View Code? Open in Web Editor NEW
103.0 16.0 56.0 1006 KB

Code repository for codes in the educational website Theory of Programming

Home Page: http://theoryofprogramming.com/

License: MIT License

C 31.09% Java 42.14% C# 1.90% C++ 21.84% Python 3.03%

theoryofprogramming's Introduction

Theory of Programming

This is the GitHub code repository for the educational website Theory of Programming. Theory of Programming is a website for computer science geeks who want to learn data structures, algorithms, Java, C, etc. The codes in this repository are the codes which are displayed in the website's posts.

Theory of Programming on Youtube!

Theory of Programming is shifting to YouTube. Visit the YouTube channel for awesome tutorial videos! Hope you will support the YouTube channel as you have greatly supported the website. ๐Ÿ˜Š

Contributing

You can contribute to Theory of Programming by -

  • Providing implementations of algorithms and data structures in other languages than which already exist. Allowed languages are C, C++, Java, C# and Python.
  • Finding bugs in existing code. Please raise a new issue if you find any bugs in the existing codes.
  • Or any other idea which might make this repo more helpful. Raise a new issue for the same.

Guidelines

To get an idea where to start, browse the issues. Here are a few guidelines before you race off to contribute -

  • You agree to license your contributions under the license.
  • Use pull requests early so it's open for discussion, even if your contribution isn't ready yet.
  • Ask doubts in your pull request or the issue page corresponding to your contribution.
  • Please follow the directory structure strictly.
  • Your code must strictly follow the coding conventions.

Contact

You can raise a new issue if you want to ask questions. Feel free to use the issues as a forum.

Happy Coding! ๐Ÿ˜Ž

theoryofprogramming's People

Contributors

praveenmylavarapu avatar ranesr avatar sbshah97 avatar the-cybersapien avatar vamsisangam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

theoryofprogramming's Issues

Need Java implementations for these topics

Need Java implementations for -

  • Bellman-Ford algorithm
  • Breadth First Search โœ”๏ธ
  • Depth First Search โœ”๏ธ
  • Dijkstra's Algorithm
  • Prim's Algorithm
  • Snakes and Ladders Game
  • Binary Search algorithm โœ”๏ธ
  • Jump Search algorithm โœ”๏ธ
  • Merge Sort algorithm โœ”๏ธ
  • Quick Sort algorithm โœ”๏ธ
  • Segment Tree
  • Trie Tree

Please create a separate pull request for each implementation contribution.

Implementing few topics are tough, the rest are easy. If you are a beginner, feel free to choose the easy ones. Please make sure your implementation is somewhat similar to other language implementations of the same topic.

Once a topic's implementation has been submitted by someone, the topic will be removed from the list or struck.

Need C++ implementations for these topics

Need C++ implementations for -

  • Edit distance algorithm
  • Kadane's algorithm
  • Bellman-Ford algorithm
  • Depth First Search
  • Snakes and Ladders Game
  • Binary Search algorithm
  • Jump Search algorithm
  • Merge Sort algorithm
  • Quick Sort algorithm
  • Compressed Trie Tree
  • Segment Tree

Please create a separate pull request for each implementation contribution. Some topics, for example, in binary search, the C++ implementation would be 99% same as that of the C implementation. Even so, please provide proper C++ codes.

Implementing few topics are tough, the rest are easy. If you are a beginner, feel free to choose the easy ones. Please make sure your implementation is somewhat similar to other language implementations of the same topic.

Once a topic's implementation has been submitted by someone, the topic will be removed from the list or struck.

Implement Kadane's Algorithm in C++

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement DFS in Java

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Need C implementations for these topics

Need C implementations for -

  • Compressed Trie Tree
  • Trie Tree

Please create a separate pull request for each implementation contribution. Trie tree is an easy pick. Compressed trie tree is difficult. Once a topic's implementation has been submitted by someone, the topic will be removed from the list or struck.

Need the fastest version of Dijkstra's algorithm

Dijkstra's algorithm when implemented using an adjacency list and a Fibonacci heap as a priority queue, has a runtime complexity O(E + VLogV). This is probably the fastest known implementation of Dijkstra's algorithm. Please provide any language (C, C++, Java, C#, Python) implementation of this version.

Implement Quick Sort in Python

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Compressed Trie Tree in C

Issue Description

  • Impement the compressed trie tree data structure in C. Required operations would be to insert and search for existence of words. startsWith opertion is optional.
  • Corresponding post on website
  • Permitted languages - C

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Edit distance algorithm in C++

Issue Description

  • Need the C++ implementation of the Edit distance algorithm. For this issue we need the non-optimised version, the O(|M| |N|) space complexity algorithm.
  • Corresponding post on website
  • Permitted languages - C++

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Bellman-Ford Algorithm in C++

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Merge Sort in Python

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Hi, I need your suggestion in the following:

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement BFS in Java

Issue Description

  • Need the Java implementation of Breadth First Search algorithm. Please provide a queue based implementation. Use Collections API.
  • Corresponding post on website
  • Permitted languages - Java

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Snakes and Ladders game code in C#

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Trie Tree in Java

Issue Description

  • Need the Java implementation of Trie Tree. Required operations are insert and searching for the existence of words.
  • Corresponding post on website
  • Permitted languages - Java

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement DFS in C++

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Prim's Algorithm in Java

Issue Description

  • Need the Java implementation of Prim's algorithm. A non-optimised version will do. You may use an array for the priority queue.
  • Corresponding post on website
  • Permitted languages - Java

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Compressed Trie Tree in C++

Issue Description

  • Need the C++ implementation of compressed trie tree data structure. Required operations are insert and search for the existence of words.
  • Corresponding post on website
  • Permitted languages - C++

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Binary Search in Java

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Segment Tree in Java

Issue Description

  • Need the Java implementation of Segment Tree data structure. Required operations would be range sum query, update operation and a traversal to print the tree.
  • Corresponding post on website
  • Permitted languages - Java

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Dijkstra's Algorithm in Java

Issue Description

  • Need the Java implementatio of Dijkstra's algorithm. For this issue, please provide the non-optimised O(V^2) implementation.
  • Corresponding post on website
  • Permitted languages - Java

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Need C# implementations for these topics

Need C# implementations for -

  • Edit distance algorithm
  • Kadane's algorithm
  • Bellman-Ford algorithm
  • Breadth First Search
  • Depth First Search
  • Dijkstra's Algorithm
  • Prim's Algorithm
  • Snakes and Ladders Game
  • Binary Search algorithm
  • Jump Search algorithm
  • Merge Sort algorithm
  • Quick Sort algorithm
  • Compressed Trie Tree
  • Segment Tree
  • Trie Tree

Please create a separate pull request for each implementation contribution.

Implementing few topics are tough, the rest are easy. If you are a beginner, feel free to choose the easy ones. Please make sure your implementation is somewhat similar to other language implementations of the same topic.

Once a topic's implementation has been submitted by someone, the topic will be removed from the list or struck.

Implement Binary Search in Python

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Segment Tree in C++

Issue Description

  • Need the C++ implementation of Segment tree data structure. Required operations would be range sum query, update operation and a traversal to print the tree.
  • Corresponding post on website
  • Permitted languages - C++

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Binary Search in C++

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Bellman Ford in Java

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Jump Search in C++

Issue Description

  • Need the C++ implementation of Jump Search algorithm. For this issue please provide the non-optimised version of Jump Search algorithm.
  • Corresponding post on website
  • Permitted languages - C++

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Binary Search in C++ - Make vector a local variable

Issue Description

  • For the C++ code in Binary search, vector v is a global variable. Please make it a local variable and pass it to binary search method as a parameter.
  • Corresponding post on website
  • Assigned to @salman-bhai

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Query on Adjacency List in C

Hi, I have generated a graph using Adjacency List for larger number of nodes NN =100000(test run for NN=10 nodes) and it works fine. I have merged the same code in likelihood.c(in the repositary Decimation) and checked the linked list and it keeps on repeating the same node instead of linking the next node. No idea where it goes wrong and checked it many times.

Need Python implementations for these topics

Need Python implementations for -

  • Edit distance algorithm
  • Kadane's algorithm
  • Adjacency List
  • Bellman-Ford algorithm
  • Breadth First Search
  • Depth First Search
  • Dijkstra's Algorithm
  • Prim's Algorithm
  • Snakes and Ladders Game
  • Binary Search algorithm
  • Jump Search algorithm
  • Merge Sort algorithm
  • Quick Sort algorithm
  • Compressed Trie Tree
  • Segment Tree
  • Trie Tree

Please create a separate pull request for each implementation contribution.

Implementing few topics are tough, the rest are easy. If you are a beginner, feel free to choose the easy ones. Please make sure your implementation is somewhat similar to other language implementations of the same topic.

Once a topic's implementation has been submitted by someone, the topic will be removed from the list or struck.

Implement Trie Tree in C

Issue Description

  • Implement a trie tree in C. Required operations would be insert and search for existence of words.
  • Corresponding post on website
  • Permitted languages - C

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Merge Sort in C++

Issue Description

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

Implement Jump Search in Python

Issue Description

  • Need the Python implementation of Jump Search algorithm. For this issue please provide the non-optimised version.
  • Corresponding post on website
  • Permitted languages - Python

Guidelines

  • Your code will be live on a tutorial website, so code readability and understandability will be given paramount importance.
  • Please follow coding conventions listed in CONVENTIONS.md
  • The directory structure of the project is pretty obvious, but take a moment to go through STRUCTURE.md if you are confused where to place your code.
  • Please add a few sample input output test case files too. Minimum 1. The more the merrier!

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.