Git Product home page Git Product logo

algo-phantoms / algo-tree Goto Github PK

View Code? Open in Web Editor NEW
346.0 4.0 624.0 2.55 MB

Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.

License: MIT License

C++ 56.10% Java 28.90% Python 15.00%
array data-structures-and-algorithms linked-list stack queue tree graph trie string recursion

algo-tree's Introduction

Algo-Tree ๐ŸŒฒ

algotree.png

Issues Open Source Love svg1 License: MIT PRs Welcome Maintenance

Forks Stars Watchers

Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.

Code Structure

Algorithms

Contribution Guidelines โš™๏ธ

You may go through these guidelines and contribute accordingly:

  • Make sure you do not copy codes from external sources like GFG,hackerearth, etc because that work will not be considered. Plagiarism is strictly not allowed.
  • You can only work on issues that you have been assigned to you.
  • If you want to contribute for an existing algorithm, we prefer that you create an issue before making a PR and link your PR to that issue.
  • If you have modified/added code work, make sure the code compiles before submitting.
  • Strictly use snake_case (underscore_separated) in your file_name and push it in correct folder.
  • Just mention the issue against which the pull request is open by writing Fixes #(your issue number) in the description of the pull request
  • Do not update the README.md.

Guidelines for code base :

  • Use 1 tab or 4 spaces indentation.
  • Add the description of your algorithm using multi-line comments at the starting of the code.
  • Add comments to your code in a new line and use single-line comments with 1 tab or 4 spaces indentation.
  • Try to make your code user input.
  • Add minimum 2 test cases along with input and output at the end of your code using multi-line comments.
  • Also, add time and space complexity at the end of your code using multi-line comments.

Where to upload the files ๐Ÿ“‚

  • Your files should be uploaded inside the code folder into the corresponding language folder (For instance, if you wrote code for an Algorithm Implementation in Java, it goes inside the Code/Java folder).
  • Under no circumstances create new folders within the language folders to upload your code unless specifically told to do so.
  • Edit the corresponding README.md file to add the link to your code in the corresponding section in alphabatical order.(GitHub Markdown Guide).

The value of a strong contribution stays beyond everything and gives you satisfaction ๐Ÿ‘.

Maintainers ๐Ÿ˜‡


Vatsal kesarwani

๐Ÿ’ป ๐Ÿ–‹

Rudrakshi

๐Ÿ’ป ๐Ÿ–‹

Nakul Sharma

๐Ÿ’ป ๐Ÿ–‹

Tarun Yadav

๐Ÿ’ป ๐Ÿ–‹

Ojuswi Rastogi

๐Ÿ’ป ๐Ÿ–‹

Shreyans Poddar

๐Ÿ’ป ๐Ÿ–‹

Raksha Jain

๐Ÿ’ป ๐Ÿ–‹

Anjul Singh

๐Ÿ’ป ๐Ÿ–‹

Rishabh Singhal

๐Ÿ’ป ๐Ÿ–‹

Rohan

๐Ÿ’ป ๐Ÿ–‹

Yasharth Dubey

๐Ÿ’ป ๐Ÿ–‹

Code of Conduct

You can find our Code of Conduct here.

License

This project follows the MIT License.

forthebadge forthebadge forthebadge forthebadge forthebadge forthebadge forthebadge

algo-tree's People

Contributors

aarti002 avatar akanshauniyal avatar alleny244 avatar amit366 avatar anishsingh42 avatar anshmishra010 avatar anushkas09 avatar harikrishnan6336 avatar imsushant12 avatar khusheekapoor avatar kirti1807 avatar krishna-nit avatar mugdha-hazra avatar muskan0 avatar prerna-07 avatar rk05-lenavo avatar rohan27s avatar rohitsigar avatar rudrakshi99 avatar sg-iitg avatar shahina-bano avatar shalvi-singhal avatar srishti013 avatar ssaumyaa7 avatar subhangini avatar tarun26091999 avatar u-c0de avatar vanshikachokhani avatar yasharth291 avatar yashmita 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

algo-tree's Issues

Add Array Operations

Hi
I find that array operations are not implemented. I have a piece of good knowledge on dsa. I can easily implement array operation(Insertion at the middle, Insertion at the end, Deletion at the beginning, Deletion at the middle, Deletion at the end) in c++. I would be happy to make my pull request for this.
I am currently a GSSOC'21 Participant.
Will you please assign these to me.

Add Minimum Cost Path in C++

Hello,
I would like to add the code for Minimum Cost Path under the DP section. Please assign this to me. I would do my best.

add a `.clang-format` for C++ code for consistent styling

Some PRs might not pass the checks if people somewhere by mistake forget to follow the styling. Also there are currently no documentation on correct syling. Using .clang-format will also allow automated styling instead of manually fixing stuff.

Note that once we fix a styling, we will need to apply it to all existing C++ code.

Hash in JS

Hashing in JS

Goal is to create a hash table in JavaScript which will have following things -

  1. Insert item
  2. Find item
  3. Display all items

Motivation

Purpose is to help people get better at JavaScript and DS & Algorithms

Event

Participating as a part of GSSOC

Graph Algorithms

  • Dijkstra
    • C++
    • Java
    • Python
  • Kruskal
    • C++
    • Java
    • Python
  • Topological Sort
    • C++
    • Java
    • Python
  • Prim
    • C++
    • Java
    • Python

B-Tree in Java

hey, I want to add B-Tree functionalities in java; Assign it to me, I am good at dsa and have prior experience working on this.
#GSSOC'21

Adding more DS codes and algorithms in Python.

I see that currently this project has no codes corresponding the Python programming language.
I have good knowledge of Python programming language as well as fair knowledge of DS in Python.
I can easily code for Arrays, Stacks, Queues, Linked-List as well as Trees in Python.
I am trying to learn more as well.
Will be glad to make some decent code contributions for all those topics on DSA in python to make this project really awesome.
You can assign any or all of these to me.
I am currently a participant of GSSOC'21
Will be waiting for a response to go ahead :)

Betweenness-centrality of all nodes in java

hey, I want to add calculation of betweenness-centrality of all nodes in a graph in java ; I have prior experience working on this and will be grateful to work under mentors of GSSOC'21 and develop the code even better. Assign it to me

GCD

I can add a suitable java program to all c++ program.
Please assign me @rudrakshi99 .

Search in Sorted Rotated Array

Given an integer array, and an element x, find the index of the element in O(log n) time.
Integer array is sorted in ascending order, but it is rotated at some pivot.
Example:
Input: arr[] = {5, 6, 7, 8, 9, 10, 1, 2, 3}, x = 3
Output: 8

Quicksort

The repo seems to be missing the Quicksort algorithm in C++

LinkedList Deletion Operation

Deletion Operations in LinkedList

  • Deletion of first node in linkedlist
  • Deletion of last node in linkedlist
  • Deletion of intermediate node in linkedlist

Event :

Gssoc'21

Can you assign the above task to be written in CPP and Java?

All graph algorithms in C++ and Java.

Task: Can implement all graph algorithms like Floyd-Warshall, Dijkstra, Prim's MST in C++ and Java.

Motivation: I am efficient in Problem Solving using C++ and Java and have solved more than 800 problems on various online judges like GeeksforGeeks, LeetCode, HackerRank etc. You can check my profile here:

https://leetcode.com/tanyarajhans7/
https://auth.geeksforgeeks.org/user/tanyarajhans7/practice/
https://www.hackerrank.com/tanyarajhans7

Event: I am a participant in GSSoC'21.

I would love to work on this issue. I promise to deliver on time and up to your expectations if you assign this to me. Thank you!

Longest Common Subsequence (DP)

I can implement the Longest common Subsequence problem as an approach to Dynamic Problem solution in both C++ and Java. Please assign me the issue.

add min.swaps for BT to BST conversion

hey, I want to add min.swaps for BT to BST conversion algorithm and code in java ; I have previously worked on it and will be grateful to work on same under mentors of GSSOC'21 and develop the code even better. Assign it to me.

Knapsack in java and python

Hello,
I would like to implement knapsack algorithm (dynamic programming) in python and Java languages.

Event :
GSSoC'21

Please assign me to the above task :)

Brian Kernighan's Algorithm (Count no of Set Bits)

Sir,
I have made an extensive C++ file for Brian Kernighan's algorithm. I have explained the intuition and idea of the algorithm briefly.
I have made a pull request regarding the same. Please review my request and if you feel that it is worth it, then please merge it.
Link to PR- #43
@plazzy99
@rudrakshi99
@nakul-19

I have been selected for GSSOC'21, and I am really interested in DSA, so I would like to contribute in this amazing repository.
Regards,
Debanjan Poddar

Heapsort

I wanna add the Heapsort algorithm too in C++

Sieve of Eratosthenes algorithm

Sir,
I would like to add Sieve of Eratosthenes algorithm in the algorithm section. I make very brief explained C++ code following the code of conduct.
To confirm you can see the Pull Request, that I made by adding Brian Kernighan's algorithm (yet to be reviewed by you). I have made that in a very informative way. Please review that and if you think my work is worth it, then please assign "Sieve of Eratosthenes" to me and merge the previous PR.
Link to Brian Kernighan's PR #44

add bit level radix sort in C++

hey,I want to add bit level radix sort in c++ ; Assign me this issue; I am very good at dsa and can contribute to this issue as a part of GSSOC'21

Special Algorithms

Can I work on Sieve of Eratosthenes, KMP algorithm and Moโ€™s algorithms?

7 questions in LCS(Dynamic Programming)

I can implement in C++

  1. Longest Common Subsequence
  2. Print Longest Common Subsequence
  3. Longest Common Substring
  4. Shortest Common Subsequence
  5. Print Shortest Common Subsequence
  6. Minimum no. of ways of insertion and deletion to convert string A to string B.
  7. Longest Palindromic Subsequence

Add topological sort in Java

hey,I want to add topological sort in Java ; Assign me this issue; I am very good at dsa and can contribute to this issue as a part of GSSOC'21

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.