shorten variable names in merge_nodes function

This commit is contained in:
Pavel Patsey
2025-01-26 10:30:58 +03:00
parent fee38af690
commit 04b4d14a30
+12 -12
View File
@@ -37,22 +37,22 @@ def merge_two_nodes(a: Node, b: Node) -> tuple[Node, int]:
return p, dip return p, dip
def merge_nodes(nodes: list[Node], required_len: int) -> tuple[list[Node], int]: def merge_nodes(nodes: list[Node], req_len: int) -> tuple[list[Node], int]:
sum_dip = 0 sum_dip = 0
while len(nodes) > required_len: while len(nodes) > req_len:
min_tuple = None, None, float("inf") min_t = None, None, float("inf")
for i, (a, b) in enumerate(zip(nodes, nodes[1:])): for i, (a, b) in enumerate(zip(nodes, nodes[1:])):
parent_node, dip = merge_two_nodes(a, b) p, dip = merge_two_nodes(a, b)
if dip < min_tuple[2]: if dip < min_t[2]:
min_tuple = i, parent_node, dip min_t = i, p, dip
idx, parent_node, dip = min_tuple i, p, dip = min_t
nodes = nodes[:idx] + [parent_node] + nodes[idx + 2 :] nodes = nodes[:i] + [p] + nodes[i + 2 :]
sum_dip += dip sum_dip += dip
while neighbors := find_neighbors(nodes): while nbs := find_neighbors(nodes):
idx, a, b = neighbors[0] i, a, b = nbs[0]
parent_node, dip = merge_two_nodes(a, b) p, dip = merge_two_nodes(a, b)
nodes = nodes[:idx] + [parent_node] + nodes[idx + 2 :] nodes = nodes[:i] + [p] + nodes[i + 2 :]
sum_dip += dip sum_dip += dip
return nodes, sum_dip return nodes, sum_dip