width / size [terminology]
Terminology¶
Usage¶
- Use
widthfor the width of merge-sort runs, matrix layers, or similar span-based units. - Use
sizefor a general number of elements in a group. - Prefer
run_sizeif several kinds of sizes coexist.
width = 1
while width < n:
prev = dummy
cur = dummy.next
while cur:
l = cur
r = self._split_run(l, width)
cur = self._split_run(r, width)
merged_head, merged_tail = self._merge_runs(l, r)
prev.next = merged_head
prev = merged_tail
width *= 2
See 148. Sort List.