diff --git a/data_structures/trie/radix_tree.py b/data_structures/trie/radix_tree.py index caf566a6c..34aa5f01c 100644 --- a/data_structures/trie/radix_tree.py +++ b/data_structures/trie/radix_tree.py @@ -62,12 +62,17 @@ class RadixNode: -- A (leaf) --- A (leaf) """ - # Case 1: If the word is the prefix of the node + # Case 1: If the word is empty, mark current node as leaf + if not word: + self.is_leaf = True + return + + # Case 2: If the word is the prefix of the node # Solution: We set the current node as leaf if self.prefix == word and not self.is_leaf: self.is_leaf = True - # Case 2: The node has no edges that have a prefix to the word + # Case 3: The node has no edges that have a prefix to the word # Solution: We create an edge from the current node to a new one # containing the word elif word[0] not in self.nodes: @@ -79,12 +84,12 @@ class RadixNode: word ) - # Case 3: The node prefix is equal to the matching + # Case 4: The node prefix is equal to the matching # Solution: We insert remaining word on the next node if remaining_prefix == "": - self.nodes[matching_string[0]].insert(remaining_word) + incoming_node.insert(remaining_word) - # Case 4: The word is greater equal to the matching + # Case 5: The word is greater equal to the matching # Solution: Create a node in between both nodes, change # prefixes and add the new node for the remaining word else: diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index d52b56f23..f7455a9c9 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -39,9 +39,11 @@ def frac_knapsack(vl, wt, w, n): return ( 0 if k == 0 - else sum(vl[:k]) + (w - acc[k - 1]) * (vl[k]) / (wt[k]) - if k != n - else sum(vl[:k]) + else ( + sum(vl[:k]) + (w - acc[k - 1]) * (vl[k]) / (wt[k]) + if k != n + else sum(vl[:k]) + ) ) diff --git a/matrix/matrix_class.py b/matrix/matrix_class.py index a5940a38e..230eb9500 100644 --- a/matrix/matrix_class.py +++ b/matrix/matrix_class.py @@ -204,9 +204,11 @@ class Matrix: return Matrix( [ [ - self.minors().rows[row][column] - if (row + column) % 2 == 0 - else self.minors().rows[row][column] * -1 + ( + self.minors().rows[row][column] + if (row + column) % 2 == 0 + else self.minors().rows[row][column] * -1 + ) for column in range(self.minors().num_columns) ] for row in range(self.minors().num_rows)