This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Node(): | |
def __init__(self): | |
self.children = {} | |
self.end = False | |
class Trie(): | |
root = Node() | |
def insert(self, word): | |
cur = self.root |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 = [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class NilNode(object): | |
color = "black" | |
parent = None | |
left = None | |
right = None | |
NIL = NilNode() | |
class Node(object): | |
left = NIL |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lass Node(object): | |
left = None | |
right = None | |
parent = None | |
color = "red" | |
def __init__(self, value): | |
self.value = value | |
class Tree(object): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
NewerOlder