Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. import random
  2.  
  3. from networkx import *
  4. import pylab as plt
  5.  
  6.  
  7. def gen_tree(size, max_rank):
  8.  
  9. pow_ver = [0] * size #количесво смежных ребер
  10. arr_ver_old = [i for i in range(0, size)] # вершины
  11. arr_ver_new = [] #конечный массив
  12.  
  13. result_graf = nx.Graph()
  14.  
  15. # root = random.choice(arr_ver_old) #выбираем рандомную вершину
  16. # index = arr_ver_old.index(root) #получаем индекс вершины
  17. # delete = arr_ver_old.pop(index) #удаляем вершину по индексу и возвращает вершину
  18. #arr_ver_new.append(delete) #добавляем вершину
  19.  
  20. print("new",arr_ver_new) #вывод нового массива
  21. print("OLD", arr_ver_old)#вывод старого массива
  22. for i in range(0, size): #отрисовка вершин
  23. result_graf.add_node(i)
  24.  
  25. for i in range(0, size):
  26. node = random.choice(arr_ver_old)
  27. delete = arr_ver_old.pop(arr_ver_old.index(node))
  28. arr_ver_new.append(delete)
  29. pow_ver[i] += 1
  30. if i == 1:
  31. result_graf.add_edge(arr_ver_new[0], arr_ver_new[1])
  32. if i > 1:
  33. result_graf.add_edge(node, node_new)
  34. if i > 0:
  35. node_new = random.choice(arr_ver_new)
  36. new_index = arr_ver_new.index(node_new)
  37. if i < size - 1:
  38. pow_ver[new_index] += 1
  39.  
  40. print("степень", pow_ver)
  41. print("новый",arr_ver_new)
  42.  
  43. result_graf.number_of_nodes()
  44. nx.draw(result_graf, with_labels=True)
  45. plt.show()
  46.  
  47. gen_tree(5, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement