Skip to content

Instantly share code, notes, and snippets.

View KerryJones's full-sized avatar

Kerry Jones KerryJones

View GitHub Profile
@KerryJones
KerryJones / dfs.py
Created January 14, 2016 20:18
Python Depth-First-Search
class Node:
visited = None
data = None
adjacent = None
def __init__(self, value):
self.data = value
self.adjacent = []
self.visited = False
@KerryJones
KerryJones / .gitconfig
Created January 7, 2016 21:31
Semantic Versioning for Git Scripts
[alias]
merge-release-major = !sh ../gitscripts/merge-release-major.sh
merge-release-minor = !sh ../gitscripts/merge-release-minor.sh
merge-release-patch = !sh ../gitscripts/merge-release-patch.sh
@KerryJones
KerryJones / merge-sort.py
Last active July 28, 2020 04:56
Python Merge Sort
def merge_sort(array: List) -> List:
if len(array) < 2:
return array
middle = floor(len(array)/2)
left = merge_sort(array[:middle])
right = merge_sort(array[middle:])
sorted_array = []
@KerryJones
KerryJones / bubble-sort.py
Created January 1, 2016 20:33
Python Bubble Sort
def bubble_sort(array):
for i in range(0, len(array)):
swapped = False
for j in range(0, len(array) - i - 1):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
swapped = True
if not swapped:
@KerryJones
KerryJones / insertion-sort.py
Last active December 19, 2018 16:56
Python Insertion Sort
##
# Insertion Sort
#
# Runtime complexity: O(n^2)
# Space complexity: O(1)
##
def insertion_sort(arr, detail = False):
for i in range(1, len(arr)):
j = i
@KerryJones
KerryJones / selection-sort.py
Last active November 2, 2018 19:33
Python: Selection Sort
##
# Selection Sort
#
# Runtime Complexity: O(n^2)
# Space Complexity: O(1)
##
def selectionSort(arr, detail = False):
for i in range(len(arr)):
min = i
@KerryJones
KerryJones / sieve-of-eratosthenes.php
Created December 31, 2015 08:11
PHP: Sieve of Eratosthenes
<?php
function sieve_of_eratosthenes($max) {
$flags = array_fill(0, $max, true);
$flags[0] = $flags[1] = false;
foreach ( $flags as $index => &$is_prime ) {
if ( $is_prime ) {
echo $index . "<br>\n";
for( $i = $index*$index; $i < $max; $i +=$index )
@KerryJones
KerryJones / sieve-of-eratosthenes.py
Created December 31, 2015 07:53
Sieve of Eratosthenes
def sieve_of_eratosthenes(max):
flags = [True] * max
flags[0] = flags[1] = False
for (i, isPrime) in enumerate(flags):
if isPrime:
print(i)
for n in range(i*i, max, i):
flags[n] = False
@KerryJones
KerryJones / prime.py
Last active December 31, 2015 07:18
Python: Determine if a number is a prime
def prime(n):
if n == 2:
return True
elif n % 2 == 0:
return False
max = math.ceil(math.sqrt(n))
for i in range(3,max,2):
if n % i == 0:
@KerryJones
KerryJones / binary-search-tree.py
Created December 31, 2015 06:58
Python Data Structure: Binary Search Tree
class BST(object):
root = None
def search(self, data):
return self._binarySearch(data, self.root)
def _binarySearch(self, data, root):
if root is None:
return False
elif root.data == data: