Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- from networkx import *
- import pylab as plt
- def gen_tree(size, max_rank):
- pow_ver = [0] * size #количесво смежных ребер
- arr_ver_old = [i for i in range(0, size)] # вершины
- arr_ver_new = [] #конечный массив
- result_graf = nx.Graph()
- # root = random.choice(arr_ver_old) #выбираем рандомную вершину
- # index = arr_ver_old.index(root) #получаем индекс вершины
- # delete = arr_ver_old.pop(index) #удаляем вершину по индексу и возвращает вершину
- #arr_ver_new.append(delete) #добавляем вершину
- print("new",arr_ver_new) #вывод нового массива
- print("OLD", arr_ver_old)#вывод старого массива
- for i in range(0, size): #отрисовка вершин
- result_graf.add_node(i)
- for i in range(0, size):
- node = random.choice(arr_ver_old)
- delete = arr_ver_old.pop(arr_ver_old.index(node))
- arr_ver_new.append(delete)
- pow_ver[i] += 1
- if i == 1:
- result_graf.add_edge(arr_ver_new[0], arr_ver_new[1])
- if i > 1:
- result_graf.add_edge(node, node_new)
- if i > 0:
- node_new = random.choice(arr_ver_new)
- new_index = arr_ver_new.index(node_new)
- if i < size - 1:
- pow_ver[new_index] += 1
- print("степень", pow_ver)
- print("новый",arr_ver_new)
- result_graf.number_of_nodes()
- nx.draw(result_graf, with_labels=True)
- plt.show()
- gen_tree(5, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement