/Algo

Algo is a repository that contains all the algorithms in one place and is open to all PEC students for contribution. The repository contains algorithms that are important for cracking coding tests during placement drives and also for competitive programming.

Primary LanguageC++MIT LicenseMIT

Algo

PRs Welcome GitHub pull requests GitHub issues Github All Contributors

⭐ Tech Stack

JavaScript Python C++ C Java

⭐ About

Algo is a repository that contains all the algorithms in one place and is open to all PEC students for contribution. The repository contains algorithms that are important for cracking coding tests during placement drives and also for competitive programming.

forthebadge forthebadge forthebadge forthebadge forthebadge

⭐ Contributing Guidelines

  • Plagiarism is strictly not allowed. Any work that is found to be suspicious of plagiarized work will not be merged.
  • Issues will be assigned to those who create them unless the author wants someone else to take it. You just have to comment on the issue, asking to be assigned, and it will be done if found fit.
  • You cannot work on any issue that is not assigned to you.
  • In case you want to submit an improvement to an existing algorithm, we prefer that you create an issue describing in detail about your improvement. This will help others to analyze your contribution.
  • If you have anything else in mind, create an issue and please wait for it to be assigned to you. You can then start working on it and create a PR.
  • All PRs must be made from a different branch. Create a separate branch for every issue you are working on and once found fit, make a PR.

Make sure your code works before submitting it.

⭐ How to get started?

forthebadge
You can refer to the following articles on the basics of Git and Github and also contact the Project Mentors, in case you are stuck:

⭐ Steps to follow 📜


0️⃣ Code of conduct and Code Style

Please read our Code of conduct and Code Style which stipulate explicitly that everyone must be gracious, respectful and professional and must submit the code in a predefined format. This also documents our conflict resolution policy.

1️⃣ Fork it 🍴

You can get your own fork/copy of Algo by using the Fork button.


2️⃣ Clone it 👥

You need to clone (download) it to local machine using

$ git clone https://github.com/Your_Username/Algo.git

This makes a local copy of repository in your machine.

Once you have cloned the Algo repository in Github, move to that folder first using change directory command on linux and Mac.

# This will change directory to a folder Algo
$ cd Algo

Move to this folder for all other commands.


3️⃣ Set it up ⬆️

Run the following commands to see that your local copy has a reference to your forked remote repository in Github :octocat:

$ git remote -v
origin  https://github.com/Your_Username/Algo.git (fetch)
origin  https://github.com/Your_Username/Algo.git (push)

Now, lets add a reference to the original Algo repository using

$ git remote add upstream https://github.com/R-n-D-PEC-CSS/Algo.git

This adds a new remote named upstream.

See the changes using

$ git remote -v
origin    https://github.com/Your_Username/Algo.git (fetch)
origin    https://github.com/Your_Username/Algo.git (push)
upstream  https://github.com/R-n-D-PEC-CSS/Algo.git (fetch)
upstream  https://github.com/R-n-D-PEC-CSS/Algo.git (push)

4️⃣ Sync it ♻️

Always keep your local copy of repository updated with the original repository. Before making any changes and/or in an appropriate interval, run the following commands carefully to update your local repository.

# Fetch all remote repositories and delete any deleted remote branches
$ git fetch --all --prune

# Switch to `master` branch
$ git checkout master

# Reset local `master` branch to match `upstream` repository's `master` branch
$ git reset --hard upstream/master

# Push changes to your forked `Algo` repo
$ git push origin master

5️⃣ Ready Steady Go... 🐢 🐇

Once you have completed these steps, you are ready to start contributing by checking our Help Wanted Issues and creating pull requests.


6️⃣ Create a new branch ‼️

Whenever you are going to make contribution. Please create seperate branch using command and keep your master branch clean (i.e. synced with remote branch).

# It will create a new branch with name Branch_Name and switch to branch Folder_Name
$ git checkout -b Folder_Name

Create a seperate branch for contibution and try to use same name of branch as of folder.

To switch to desired branch

# To switch from one folder to other
$ git checkout Folder_Name

To add the changes to the branch. Use

# To add all files to branch Folder_Name
$ git add .

Type in a message relevant for the code reveiwer using

# This message get associated with all files you have changed
$ git commit -m 'relevant message'

8️⃣ Share your work 🤩

Now, Push your awesome work to your remote repository using

# To push your work to your remote repository
$ git push -u origin Folder_Name

Then, go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your precious effort.

Contributors:

The Wonderful People Who Contributed Here