aboutsummaryrefslogtreecommitdiffstats
path: root/python/dataStructures.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/dataStructures.py')
-rw-r--r--python/dataStructures.py32
1 files changed, 0 insertions, 32 deletions
diff --git a/python/dataStructures.py b/python/dataStructures.py
deleted file mode 100644
index 1e972fc..0000000
--- a/python/dataStructures.py
+++ /dev/null
@@ -1,32 +0,0 @@
-class DisjointSet:
- def __init__(self, nbElements):
- self.parent = []
- self.rank = []
- for i in range(0, nbElements):
- self.parent[i] = i
- self.rank[i] = 0
-
- def find(self, x):
- if self.parent[x] != x:
- self.parent[x] = self.find(self.parent[x])
- return self.parent[x]
-
- def union(self, x, y):
- xRoot = self.find(x)
- yRoot = self.find(y)
-
- # x and y already belong to the same set
- if xRoot == yRoot:
- return
-
- # merge the set of x and y
- if self.rank[xRoot] < self.rank[yRoot]:
- self.parent[xRoot] = yRoot
- elif self.rank[xRoot] > self.rank[yRoot]:
- self.parent[yRoot] = xRoot
- else:
- self.parent[xRoot] = yRoot
- self.rank[yRoot] += 1
-
- def inSameSet(self, x, y):
- return self.find(x) == self.find(y) \ No newline at end of file