Skip to content

Latest commit

 

History

History
29 lines (16 loc) · 1.4 KB

README.md

File metadata and controls

29 lines (16 loc) · 1.4 KB

algorithms

Exercises on algorithms

SSvsBS.py - Python implementation of both linear and binary search algorithms with runtime comparison

Search.java - Java implementation of both linear and binary search algorithms with runtime comparison

selectionSort.py - Python implementation of selection sort algo

qsort.py - Python implementation of Quicksort with pivot as the middle element in each subarray

rsum.py - recursive function to sum up all elements of a list

rlen.py - recursive function to return the lenght of a list

bfs.py - implementation of Breadth-First Search using python dictionary to model connections in a directed graph

dijk.py - Dijkstra's pathfinding in Python, using dictionaries

UnionFind - a set of algorithms for Dynamic Connectivity Problem, in Java; Quick Find, Quick Union, and QU improvements

DynamicConnectivity - added new algorithm for Dynamic Connectivity Problem - Quick Union; added basic inheritance for convenience; from now on this folder will be updated

permutate.js - JS algorithm for string permutation - no duplicates in the output array. E.g. perm. of "ABCD" has 24 elements (4!) and perm. of "ABCC" has only 12 (4! / 2)

matching_brackets.rb / .py not-so-clever algorithm to ensure matching brackets: all (, { and [ in strings, made as a part of recruitment task

euclid.rb - Euclid's largest common divisor algorithm