From eb99c7b66cd7c62f7a412c0bc4d96cd78aeb1ad2 Mon Sep 17 00:00:00 2001 From: shellfly Date: Wed, 23 Dec 2020 22:34:55 +0800 Subject: [PATCH] improve red black bst & fix typoes --- README.md | 2 +- algs4/edge_weighted_digraph.py | 8 ++++---- algs4/red_black_bst.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 90d1ad5..627ee99 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ pip install algs4 ``` ```python -from algs4 import Stack +from algs4.stack import Stack ``` ## Index diff --git a/algs4/edge_weighted_digraph.py b/algs4/edge_weighted_digraph.py index 48c7957..27156ad 100644 --- a/algs4/edge_weighted_digraph.py +++ b/algs4/edge_weighted_digraph.py @@ -1,13 +1,13 @@ """ - * Execution: python edge_weighted_graph.py filename.txt + * Execution: python edge_weighted_digraph.py filename.txt * Data files: https://algs4.cs.princeton.edu/43mst/tinyEWG.txt * https://algs4.cs.princeton.edu/43mst/mediumEWG.txt * https://algs4.cs.princeton.edu/43mst/largeEWG.txt * - * An edge-weighted undirected graph, implemented using adjacency lists. + * An edge-weighted directed graph, implemented using adjacency lists. * Parallel edges and self-loops are permitted. * - * % python edge_weighted_graph.py tinyEWD.txt + * % python edge_weighted_digraph.py tinyEWD.txt * 8 vertices, 15 edges * 0: 0->2 0.26000 0->4 0.38000 * 1: 1->3 0.29000 @@ -63,5 +63,5 @@ def edges(self): if __name__ == "__main__": import sys - graph = EdgeWeightedDiraph(file=open(sys.argv[1])) + graph = EdgeWeightedDigraph(file=open(sys.argv[1])) print(graph) diff --git a/algs4/red_black_bst.py b/algs4/red_black_bst.py index f32d22b..ef5239c 100644 --- a/algs4/red_black_bst.py +++ b/algs4/red_black_bst.py @@ -339,7 +339,7 @@ def _delete_min(self, h): return self.balance(h) def balance(self, h): - if self.is_red(h): + if self.is_red(h) and not self.is_red(h.left): h = self.rotate_left(h) if self.is_red(h.left) and self.is_red(h.left.left): h = self.rotate_right(h)