From 6001fe179c63a9a18546de787d563adfcedbc79c Mon Sep 17 00:00:00 2001 From: shellfly Date: Fri, 31 Jan 2020 20:35:48 +0800 Subject: [PATCH] add is_empty check for bst --- algs4/bst.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/algs4/bst.py b/algs4/bst.py index 041ad5c..46cdc70 100644 --- a/algs4/bst.py +++ b/algs4/bst.py @@ -113,6 +113,8 @@ def _keys(self, x, queue, lo, hi): self._keys(x.right, queue, lo, hi) def max(self): + if self.is_empty(): + raise Exception("empty bst") return self._max(self.root).key def _max(self, x): @@ -122,6 +124,8 @@ def _max(self, x): return self._max(x.right) def min(self): + if self.is_empty(): + raise Exception("empty bst") return self._min(self.root).key def _min(self, x): @@ -229,6 +233,10 @@ def _delete_min(self, x): x.N = self._size(x.left) + self._size(x.right) + 1 return x + def is_empty(self): + return self.root == None + + if __name__ == '__main__': import sys