Пример #1
0
def Introsort_Util(arr, begin, end, depthLimit):
    size = end - begin

    if size < 16:  # if the data set is small, call insertion sort
        Insertion_Sort.insertion_sort(arr)
        return

    if depthLimit == 0:  # if the recursion limit is occurred call heap sort
        Heap_Sort.heapSort(arr)
        return

    pivot = statistics.median([begin, begin + size // 2, end])
    (arr[pivot], arr[end]) = (arr[end], arr[pivot])

    partitionPoint = Quick_Sort.pivot(arr, begin, end)
    Introsort_Util(arr, begin, partitionPoint - 1, depthLimit - 1)
    Introsort_Util(arr, partitionPoint + 1, end, depthLimit - 1)
Пример #2
0
def bucket_sort(arr):
    n = len(arr)
    B = []

    for i in range(n):
        B.append([])

    for j in arr:
        index_b = int(n * j)
        B[index_b].append(j)

    for i in range(n):
        B[i] = Insertion_Sort.insertion(B[i])

    k = 0
    for i in range(n):
        for j in range(len(B[i])):
            arr[k] = B[i][j]
            k += 1

    return arr
t = timeit.Timer(lambda: Comb_Sort.comb(f3))
print("Comb sort ", t.timeit(number=1))
#print(f3,"\n")

t = timeit.Timer(lambda: Heap_Sort.heapSort(f4))
print("Heap sort ", t.timeit(number=1))
#print(f4,"\n")

t = timeit.Timer(lambda: Quick_Sort.quick_sort(f5))
print("Quick sort ", t.timeit(number=1))
#print(f5,"\n")

# t=timeit.Timer(lambda : Radix_Sort.radixsort(f6))
# print("Radix sort ",t.timeit(number = 1))
# print(f6, "\n")

t = timeit.Timer(lambda: Shell_Sort.shell(f7))
print("Shell sort ", t.timeit(number=1))
#print(f7, "\n")

t = timeit.Timer(lambda: Bubble_Sort.bubble(f8))
print("Bubble sort ", t.timeit(number=1))
#print(f7, "\n")

t = timeit.Timer(lambda: Insertion_Sort.insertion(f9))
print("Insertion sort ", t.timeit(number=1))
#print(f7, "\n")

t = timeit.Timer(lambda: Shaker_Sort.shaker(f10))
print("Shaker sort ", t.timeit(number=1))
#print(f7, "\n")
Пример #4
0
    :param function: 需要计时的函数
    :return: None
    '''
    @wraps(function)
    def function_timer(*args, **kwargs):
        print('[Function: {name} start...]'.format(name=function.__name__))
        t0 = time.time()
        result = function(*args, **kwargs)
        t1 = time.time()
        print('[Function: {name} finished, spent time: {time:.2f}s]'.format(
            name=function.__name__, time=t1 - t0))
        return result


if __name__ == '__main__':
    A = np.random.randint(1, 10000, [5000]).tolist()
    bubble_sort.bubble(A)
    Insertion_Sort.insertion_sort(A)
    Choice_Sort.choice_sort(A)

    start = time.time()
    Merge_Sort.merge_sort(A)
    end = time.time()
    print(A)
    print(end - start)
    print()

    Shell_Sort.shell_sort(A)
    # Heap_sort.heap_sort(A)

    Quick_sort.quick_sort(A)
Пример #5
0
import Bubble_Sort

list = [7, 8, 6, 4, 1, 3]
print("Data yang di sort", list)
print("Bubble Sort :")
Bubble_Sort.bubble_sort(list)
print('================================================')

import Insertion_Sort

list = [2, 54, 38, 76, 23, 56, 84, 90]
print("Data yang di sort", list)
print("Insertion Sort :")
Insertion_Sort.insertion(list)
print('=================================================')

import Selection_Sort

list = [98, 6, 33, 11, 57, 33, 44, 55, 29, 76, 60, 81]
print('Data yang di sort :', list)
print('Selection Sort :')
Selection_Sort.ss(list)
print('=================================================')

import Quick_Sort

a = [68, 90, 78, 44, 34, 20, 100, 56, 34, 2]
print('Data yang di sort :', list)
print('Quick Sort :')
Quick_Sort.quicksort(a, 0, len(a) - 1)
print('=================================================')
Пример #6
0
import Books
import Insertion_Sort

der_prozess = Books.Books('Der Prozess', 'Franz Kafka', '9783958551930', 263)
vermessung_der_welt = Books.Books('Die Vermessung der Welt', 'Daniel Kehlmann',
                                  '9783499241000', 224)
the_phycisian = Books.Books('The Physician', 'Noah Gordon', '1453271104', 600)

der_prozess.add_author('Ghostwriter')

books_list = [der_prozess, vermessung_der_welt, the_phycisian]
for element in books_list:
    print(element.title)

books_list_sorted = Insertion_Sort.insort(books_list)
for element in books_list_sorted:
    print(element.title)