Skip to content

Instantly share code, notes, and snippets.

class Node():
def __init__(self):
self.children = {}
self.end = False
class Trie():
root = Node()
def insert(self, word):
cur = self.root
class Graph():
def __init__(self, g):
self.g = g
def bellman_ford(self, source):
dists = { vert: float("inf") for vert in self.g }
paths = { vert: None for vert in self.g }
dists[source] = 0
for i in range(len(self.g) - 1):
import heapq
class Graph():
def __init__(self, g):
self.g = g
def dijkstras(self, source):
distances = { vertex: float('inf') for vertex in self.g }
distances[source] = 0
class Graph(object):
def __init__(self, g, v):
self.g = g
self.v = v
self.adj = []
for i in range(self.v):
self.adj.append([])
for i in range(self.v):
class Graph(object):
# g = [[vertex_1, vertex_2, weight]]
# vertices = # of vertices in graph
def __init__(self, vertices, g):
self.g = g
self.vertices = vertices
def kruskal_mst(self):
result = []
class NilNode(object):
color = "black"
parent = None
left = None
right = None
NIL = NilNode()
class Node(object):
left = NIL
class MaxHeap(object):
arr = []
def parent(self, i):
return (i - 1)//2
def insert(self, v):
self.arr.append(v)
i = len(self.arr) - 1
def replace(self, u, v):
if u.parent == None:
self.root = v
elif u == u.parent.left:
u.parent.left = v
else:
u.parent.right = v
if v:
v.parent = u.parent
lass Node(object):
left = None
right = None
parent = None
color = "red"
def __init__(self, value):
self.value = value
class Tree(object):
@DanielNill
DanielNill / avl_insert.py
Created May 9, 2019 05:30
AVL insertion
class Node(object):
def __init__(self, value):
self.value = value
self.left = None
self.right = None
self.height = 1
class Tree(object):
def __init__(self):
self.root = None