Skip to content

Instantly share code, notes, and snippets.

View lettergram's full-sized avatar
🕶️
Loading...

Austin Walters lettergram

🕶️
Loading...
View GitHub Profile
@lettergram
lettergram / BST.py
Created March 14, 2015 04:00
Binary Search Tree
'''
A classic node class for use in a tree
'''
class Node:
def __init__(self,data):
self.left = None
self.right = None
self.data = data
'''
@lettergram
lettergram / find.py
Created March 14, 2015 04:01
Search key in BST
'''
Discovers if a 'key' is present in the binary tree
'''
def find(self, root, key):
if root is None or root.data is key:
return root
elif key < root.data:
return self.find(root.left, key)
else:
return self.find(root.right, key)
'''
Pre Order Traversal of the tree
'''
def PreOrder(self, root):
if root is None:
pass
else:
print(root.data),
self.PreOrder(root.left)
self.PreOrder(root.right)
'''
Post Order Traversal
'''
def PostOrder(self, root):
if root is None:
pass
else:
self.PostOrder(root.left)
self.PostOrder(root.right)
print(root.data),
'''
In Order Traversal of the tree
'''
def InOrder(self, root):
if root is None:
pass
else:
self.InOrder(root.left)
print(root.data),
self.InOrder(root.right)
'''
Level Order Traversal
'''
def LevelOrder(self, root):
if root is None:
pass
else:
q = Queue.Queue()
currLevelCount = 1
nextLevelCount = 0
#include <stdio.h>
#include <stdlib.h>
void printArray(int * array, int size){
int curr;
for(curr = 0; curr < size; curr++){
printf("%d, ", array[curr]);
}
printf("\n");
img = imread(imgFile);
colorTransform = makecform('srgb2lab');
img = double(applycform(img, colorTransform));
@lettergram
lettergram / mergeSortSlice.go
Created March 18, 2015 20:08
Merge Sort on Slide
// Runs MergeSort algorithm on a slice single
func MergeSort(slice []int) []int {
if len(slice) < 2 {
return slice
}
mid := (len(slice)) / 2
return Merge(MergeSort(slice[:mid]), MergeSort(slice[mid:]))
}
// Merges left and right slice into newly created slice
func Merge(left, right []int) []int {
size, i, j := len(left)+len(right), 0, 0
slice := make([]int, size, size)
for k := 0; k < size; k++ {
if i > len(left)-1 && j <= len(right)-1 {
slice[k] = right[j]
j++