03 2019 档案
摘要:''' 1 选择基准值pivot将数组分成两个子数组:小于基准值的元素和大于基准值的元素。这个过程称之为partition 2 对这两个子数组进行快速排序。 3 合并结果 ''' ''' 这里快速排序有两个缺点。 1 需要额外的储存空间来存放数组,less_part,great_part。 2 每一
阅读全文
摘要:import random # 我也是想了很久才想明白,递归用的太少了。画下图自己模拟一下就行了。 # 先递归分成单个元素,然后排序。 # 排序的函数传入的值是两个连续的数组。 # 因为单个元素的时候就进行排序,所以返回的一left_half,right_half 一定是排好序的 def merge
阅读全文
摘要:1 class Array(object): 2 3 def __init__(self, size = 32, init = None): 4 self._size = size 5 self._items = [init] * size 6 7 8 def __getitem__(self, i
阅读全文
摘要:1 class Array(object): 2 3 def __init__(self, size = 32, init = None): 4 self._size = size 5 self._items = [init] * size 6 7 8 def __getitem__(self, i
阅读全文
摘要:class Node(object): # 结点有两个指针 def __init__(self, maxsize = None, value = None, next = None, prev = None): self.maxsize = maxsize self.value = value se
阅读全文