数组初始化:
https://blog.youkuaiyun.com/scutbenson/article/details/115162140
NodeList = [BinTree() for i in range(n+1)]
width = [0 for i in range(n+1)]
fa = [[0 for i in range(n+1)] for j in range(n+1)]
定义结构体:
https://blog.youkuaiyun.com/scutbenson/article/details/115162140
class BinTree(object):
def __init__(self):
self.left = None
self.right = None
self.deep = None
class Edge(object):
def __init__(self, x, y, z):
self.begin = x
self.end = y
self.weight = z
#通过Edge(x, y, z)来赋值
输入:
https://mp.youkuaiyun.com/editor/html/115162140
s = input()
s1, s2 = s.split(' ')
https://blog.youkuaiyun.com/scutbenson/article/details/115342905
n, m = s1.split(' ')
n = int(n)
m = int(m)
输出对齐:
https://blog.youkuaiyun.com/scutbenson/article/details/115163511
print("|",format("Ursula","*>20"),"|") #左对齐
print("|",format("Ursula","*^20"),"|") #居中对齐
print("|",format("Ursula","*<20"),"|") #右对齐
全局变量:
https://blog.youkuaiyun.com/scutbenson/article/details/115163511
def f():
global x, y...
图存边:
https://blog.youkuaiyun.com/scutbenson/article/details/115477537
用字典类型 + 结构体数组 存储边:
定义:
class Edge():
def __init__(self, _y, _data):
self.y = _y
self.data = _data
造边:
for i in range(m):
s = input()
x, y, z = s.split(' ') #从x到y,长度z
x = int(x)
y = int(y)
z = int(z)
if x in edg.keys(): #x中是否已有数
a = edg[x] #有
else:
a = [] #无则创造列表
a.append(Edge(y, z))
edg[x] = a
结构体数组排序:
https://blog.youkuaiyun.com/scutbenson/article/details/115691158
Edg.sort(key=lambda edge: edge.weight)
#lambda edge是自己设的,是Edg[]的一个元素,并按照edg.weight从小到大排序