判断润平年
def is_(n): """ 非整百年,判断是否能被4整除, 整百年,判断是否能被400整除; """ if (n % 4 == 0 and n % 100 != 0) or (n % 100 == 0 and n % 400 == 0): print("闰年") else: # print("平年") # is_(1900)
排序算法
O(N2):简单选择、直接插入、冒泡
def quick_sort(array): if len(array) >= 2: mid = array[len(array) // 2] left = [] right = [] array.remove(mid) for ele in array: if ele >= mid: right.append(ele) else: left.append(ele) return quick_sort(left) + [mid] + quick_sort(right) else: return array print(quick_sort([1, 333, 12, 39, 222, 12, 22, 3, 1]))
O(Nlog2N):归并、快速、堆
稳定性判断:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。
稳定:直接插入、冒泡、归并
不稳定:简单选择、快速、堆