Giter Site home page Giter Site logo

just-a-visitor / algorithmic-pseudocode Goto Github PK

View Code? Open in Web Editor NEW
742.0 27.0 168.0 49.22 MB

This repository contains the pseudocode(pdf) of various algorithms and data structures necessary for Interview Preparation and Competitive Coding

License: GNU General Public License v3.0

TeX 100.00%
algorithms pseudocode data-structures algorithms-and-data-structures interview-questions interview-preparation leetcode interviews interview-practice coding-interviews

algorithmic-pseudocode's Introduction

Gitter Website shields.io

A strange game. The only winning move is not to play.

Introduction

This repository contains the pseudo-code of various algorithms and data structures necessary for Interview Preparation and Competitive Coding. The pseudocodes are written such that they can be easily adapted to any language. Let us remove the clutter of language and focus on the core concepts of the question!

Sample GIF

Images

Contribution

Read this section carefully if you are planning on contributing to this repository.

The What

  • In the Pseudocode folder, you can find a lot of algorithms. If you've come across any interesting algorithms that changed the way you think about any topic, please consider contributing it to this repo.

  • There are a lot of pseudocodes with no explanation. If you want to write a detailed explanation on the workings and intuition of these algorithms, please raise an issue and start working on it after it is approved). I would prefer if the explanation is in pdf format. However, markdown format is equally acceptable.

  • If you are familiar with tikz, pgf or beamer, consider making some animations/graphs/diagrams/plots to explain the various algorithms.

  • If you want to contribute anything other than pseudocodes, feel free to explore the repository and pick up a code and explain its logic and working (either in pdf or Markdown format). If you don't see your desired code, feel free to add it. However, remember that this repository is not a code dump and you should only add new codes if you have written a good post explaining the intricacies of the algorithm.

The Why

  • You'll understand the algorithm in depth once you start working on its pseudocode because now you need to explain your code to people who code in a variety of languages.

  • Your work might help other people preparing for interviews/competitive programming get acquainted with the core concepts of the algorithms rather than being confused by the clutter of the programming language.

  • Lastly, you'll get to learn LaTeX which is a great experience in itself.

The How

  • If this is your first time contributing to a public repository, please refer to this link. For more clarity, you can refer to this link.

  • If you are not familiar with TeX or TypeSetting in general, please refer to this link. You don't need to install anything to contribute to this repository. Just make sure that you have an Overleaf account and you are good to go.

  • Create an issue if you've decided to work on an algorithm and get it approved before the coding phase. Please do not start working on the issue before commenting on that particular thread.

  • Make sure to follow the coding standards. Put the source code in a file called SourceCode.tex. (Notice the Capitalisation).

  • If you want to code a different implementation than what is already present (for example, iterative instead of recursive, constant space instead of linear space, etc), please create a new sub-folder inside the root directory.

  • Don't include a lot of comments in the pseudocode (it just means that the code is not self-expressive). However, if the algorithm is highly non-trivial and you would like to include some explanation, please do so before or after the pseudocode. Refer to this link for example.

  • Do not create a ReadMe file inside the newly created folder. If you want to submit the code with which you tested your pseudocode, you can add it in the Validation Codes folder following the same hierarchy.

  • If you borrow the code from any online/offline source, please remember to cite it.

  • Finally, please do not include a pdf file of the final source code (This is to avoid untracked binary in the repo's history). The pdf files would be generated after everything has been finalized.

  • Make a pull request. Sit back and relax while your pull request gets merged.

Stuck?

  • If you need any clarifications or are stuck on something for a long time, feel free to ping us. Gitter

Credits

Icon made by Freepik from Flaticon

algorithmic-pseudocode's People

Contributors

aashishpiitk avatar ahmedfadhil avatar amo004 avatar ayshiff avatar bicycleman15 avatar chouhan3nilesh21 avatar codeboy5 avatar create1user avatar deining avatar j3r3mias avatar just-a-visitor avatar lepasq avatar omarr45 avatar pjzzz avatar rmnbrgr avatar simpleparadox avatar stellarbeam avatar theodtasia avatar yildirimyigit avatar ymoullec 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

algorithmic-pseudocode's Issues

Compare algorithms

compare algorithms

from pandas import read_csv
from matplotlib import pyplot
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC

Load dataset

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
dataset = read_csv(url, names=names)

Split-out validation dataset

array = dataset.values
X = array[:,0:4]
y = array[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

Spot Check Algorithms

models = []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma='auto')))

evaluate each model in turn

results = []
names = []
for name, model in models:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='accuracy')
results.append(cv_results)
names.append(name)
print('%s: %f (%f)' % (name, cv_results.mean(), cv_results.std()))

Compare Algorithms

pyplot.boxplot(results, labels=names)
pyplot.title('Algorithm Comparison')
pyplot.show()

Typo in the hacktoberfest label

You labeled this repo with hactoberfest instead of hacktoberfest. Could you please fix that so that PRs in this repo count?

Te comparto mi código

algoritmo "ContagemInteligente"
var
inic, fim, contador: Inteiro
inicio
Escreva ("Contagem Inteligente")
Escreva ("-----------------------------------")
Escreva: ("Digite o inicio:")
Leia (inic)
Escreva: ("Digite o fim:")
Leia (fim)
Escreva ("------------------------------------")
Se inic
FimEnquanto
FimSe
fimalgoritmo

//Código realizado en 'Pseudocode' App for Android

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.