年末年始はIntroduction to Algorithmを読みながら、pythoonでアルゴリズムの勉強をしようと思います。というわけでまずは簡単なところからマージソートを書きました。 #!/usr/bin/python def merge(left,right): result = [] while left != [] and right != []: if left[0] < right[0]: result.append(left.pop(0)) else: result.append(right.pop(0)) result.extend(left) result.extend(right) return result def merge_sort(a): n = len(a) if n == 1: return a left = merge_sort(a[0:n/2]) r