append() を使用して構築されている Python v2.7 リストの複雑さの順序は何ですか? Pythonリストは二重にリンクされているため、一定の複雑さですか、それとも単一にリンクされているため、線形の複雑さですか? 単独でリンクされている場合、最初から最後までの順序でリストの値を提供する反復からリストを線形時間で作成するにはどうすればよいですか?
例えば:
def holes_between(intervals):
# Compute the holes between the intervals, for example:
# given the table: ([ 8, 9] [14, 18] [19, 20] [23, 32] [34, 49])
# compute the holes: ([10, 13] [21, 22] [33, 33])
prec = intervals[0][1] + 1 # Bootstrap the iteration
holes = []
for low, high in intervals[1:]:
if prec <= low - 1:
holes.append((prec, low - 1))
prec = high + 1
return holes