correct the algorithm plan
This commit is contained in:
@@ -50,10 +50,12 @@ def make_cidr4(ip, mask_len) -> str:
|
|||||||
|
|
||||||
def merge_nodes(nodes_to_merge: list[Node], required_len: int) -> list[Node]:
|
def merge_nodes(nodes_to_merge: list[Node], required_len: int) -> list[Node]:
|
||||||
nodes = [x for x in nodes_to_merge]
|
nodes = [x for x in nodes_to_merge]
|
||||||
# преобразовать список нод в список туплов: родитель (ip, mask len, added ips), d_ip = кол-во добавляемых адресов
|
# Преобразовать список нод в список туплов: родитель (ip, mask len), кол-во добавляемых адресов d_ip
|
||||||
# найти подходящего родителя (с минимальным значением d_ip), затем мержить два узла:
|
# найти подходящего родителя (с минимальным значением d_ip) и индекс
|
||||||
# 1) если в соседних ветках
|
# затем мержить два узла:
|
||||||
# 2) если один из узлов находится в подсети у другого
|
# - т.е. удалить элемент с индексом i
|
||||||
|
# - еще раз удалить элемент с индексом i
|
||||||
|
# - добавить родителя перед элементом с индексом i
|
||||||
# повторить пока не достигнем нужного кол-ва узлов
|
# повторить пока не достигнем нужного кол-ва узлов
|
||||||
|
|
||||||
return nodes
|
return nodes
|
||||||
|
|||||||
Reference in New Issue
Block a user