**
Python对数器
**
一、对数器
1、用途:验证算法是否正确的一种方式。
2、使用:
(1)有一个想测的方法func
(2)实现一个绝对正确但是复杂度不好的方法RightMathod
(3)实现一个随机样本产生器
(4)实现比对的方法
(5)把方法a和方法b比对很多次来验证方法a是否正确
(6)如果有一个样本使得比对出错,打印样本分析是哪个方法出错
import random, operator
def BubbleSort(arr):
n = len(arr)
for i in range(0,n-1):
for j in range(0,n-1-i):
if arr[j]>arr[j+1]:
arr[j],arr[j+1] = arr[j+1], arr[j]
return arr
def GenerateRandomArr(size, value):
arr = []
for i in range(size):
arr.append(random.random()*(value+1)-random.random()*value)
return arr
def Rightsort(arr):
arr.sort()
return arr
def Isture(times, value, size, func):
success = True
for j in range(times):
arr1 = GenerateRandomArr(size, value)
arr2 = arr1.copy()
arr3 = arr1.copy()
func(arr2)
Rightsort(arr3)
if not operator.eq(arr2, arr3):
success = False
print(arr1)
break
print("NICE" if success == True else "FUCK!")
Isture(5000, 10, 100, BubbleSort)