Example #1
0
def startsort():
    global data
    if not data: return
    if (selectbox.get() == "Quick Sort"):
        quickSort(data, 0, len(data) - 1, draw_lines, speed_scale.get())
        draw_lines(data, ["sea green"] * len(data))
    elif selectbox.get() == "Bubble Sort":
        bubblesort(data, draw_lines, speed_scale.get(),
                   ["indian red"] * len(data))
def createSonFile(fileCount, tempList, lineCount):
    quicksort.quickSort(0, (lineCount - 1), tempList)  #排序

    fileName = 'sonFile' + str(fileCount) + '.csv'

    with open(fileName, mode='w+', newline='') as file:
        writer = csv.writer(file)
        for i in range(lineCount):
            writer.writerow(tempList[i])
Example #3
0
def GF_product_TvsGF_productP(n_runs, b):
    resultsMedian = [[0.0, 0.0] for y in range(256)]
    for i in range(256):
        repetitionsProductT = []
        repetitionsProductP = []
        for _ in range(n_runs):
            repetitionsProductT.append(timeForGF_product_T(i, b))
        for _ in range(n_runs):
            repetitionsProductP.append(timeForGF_product_P(i, b))
        quick.quickSort(repetitionsProductT)
        quick.quickSort(repetitionsProductP)
        med = n_runs // 2
        resultsMedian[i][0] = repetitionsProductT[med]
        resultsMedian[i][1] = repetitionsProductP[med]
    return resultsMedian
Example #4
0
def startSort():
    global arr

    if algoCombo.get() == 'Bubble Sort':
        bubbleSort(arr, displayArray, sortSpeed.get(), pauseBool)

    elif algoCombo.get() == 'Selection Sort':
        selectionSort(arr, displayArray, sortSpeed.get(), pauseBool)

    elif algoCombo.get() == 'Merge Sort':
        mergeSort(arr, displayArray, sortSpeed.get(), pauseBool, 0,
                  len(arr) - 1)

    elif algoCombo.get() == 'Quick Sort':
        quickSort(arr, displayArray, sortSpeed.get(), pauseBool, 0,
                  len(arr) - 1)
def StartAlgorithm():
    global data
    if algMenu.get() == "Quick sort":
        quickSort(data, 0, len(data) - 1, drawData, speedScale.get() / 1000)
    elif algMenu.get() == "Merge sort":
        mergeSort(data, 0, len(data) - 1, drawData, speedScale.get() / 1000)
    elif algMenu.get() == "Selection sort":
        selectSort(data, drawData, speedScale.get() / 1000)
    elif algMenu.get() == "Radix sort":
        radixSort(data, drawData, speedScale.get() / 1000)
    elif algMenu.get() == "Insertion sort":
        insertSort(data, drawData, speedScale.get() / 1000)
    elif algMenu.get() == "Bubble sort":
        bubbleSort(data, drawData, speedScale.get() / 1000)

    drawData(data, ["limegreen" for _ in range(len(data))])
Example #6
0
def fun3(num):
	file_path = '../phone_dataset/{}/'.format(str(num))
	count = 0
	num_list = []
	prev_name = ''
	for file in os.listdir(file_path):
	    a,b = file.split('.')
	    c,d = a.split('ms-')
	    num_list.append(d)
	    #os.rename(file_path+file,file_path+'frame{}.jpg'.format(count))
	    count +=1
	    if count == 1: 
	        prev_name = c
	print(num_list)
	quicksort.quickSort(num_list)
	print(num_list)
	print(c)
	count = 0
	for i in num_list:
	    if int(num_list[count]) <100000:
	        os.rename(file_path+c+'ms-{}.jpg'.format(i),file_path+'frame{}.jpg'.format(count))
	        count +=1
Example #7
0
def fun1(num):
	file_path = '../phone_dataset/{}/'.format(str(num))
	count = 0
	file_name = 'e-000'
	num_list = []
	for file in os.listdir(file_path):
		a,b = file.split('.')
		c,d = a.split('-')
		num_list.append(int(d))
		#os.rename(file_path+file,file_path+'frame{}.jpg'.format(count))
		count +=1
	print(num_list)
	quicksort.quickSort(num_list)
	print(num_list)
	count = 0
	for i in num_list:
		if num_list[count] <10:
			os.rename(file_path+'e-0000{}.jpg'.format(i),file_path+'frame{}.jpg'.format(count))
		elif num_list[count] <100:
			os.rename(file_path+'e-000{}.jpg'.format(i),file_path+'frame{}.jpg'.format(count))
		else:
			os.rename(file_path+'e-00{}.jpg'.format(i),file_path+'frame{}.jpg'.format(count))
		count +=1
Example #8
0
def create_score(P, name):
    global page
    if snakeSize == 40:
        SaveSize = "Big"
    elif snakeSize == 20:
        SaveSize = "Normal"
    elif snakeSize == 10:
        SaveSize = "Small"
    if speed == 20:
        SaveSpeed = "Slow"
    elif speed == 10:
        SaveSpeed = "Normal"
    elif speed == 5:
        SaveSpeed = "Fast"

    Score.S.append([P, name, SaveSpeed, SaveSize])
    new = quicksort.quickSort(Score.S, 0, len(Score.S) - 1)
    file = open('Score.py', 'w')
    file.write("S = ")
    file.close()
    file = open('Score.py', 'a')
    file.write(str(new))
    file.close()
    page = 0
Example #9
0
#This file is just to compile all the feature branches

from bubblesort import bubbleSort
from mergeSort import mergeSort
from quicksort import quickSort

testBubble = [3, 10, 40, 20, 30, 4, 1]
testMerge = [100, 5, 68, 3, 1, 10]
testQuick = [4, 15, 23, 1, 11, 22]

bubbleSort(testBubble)
print("Here is the the sorted array using bubble sort")
print(testBubble)
mergeSort(testMerge)
print("Here is the sorted array using Merge sort")
print(testMerge)
quickSort(testQuick, 0, len(testQuick) - 1)
print("Here is the sorted array using quick sort")
print(testQuick)
Example #10
0
 def test_1(self):
     arr = [1, 3, 4, 5, 2, 0]
     res = quicksort.quickSort(arr)
     self.assertEqual(res, [0, 1, 2, 3, 4, 5])
Example #11
0
def quickSort(alist,first,last):
    if first<last:
       splitpoint = partition(alist,first,last)
       quickSort(alist,first,splitpoint-1)
       quickSort(alist,splitpoint+1,last)
Example #12
0
           done = True
       else:
           temp = alist[leftmark]
           alist[leftmark] = alist[rightmark]
           alist[rightmark] = temp

   temp = alist[first]
   alist[first] = alist[rightmark]
   alist[rightmark] = temp
   return rightmark

alist = []
for x in range(100):
    alist.append (random.randint(1,10))
s = time.time()
quickSort(alist, 0, len(alist)-1)
e = time.time()
time1 = e-s








import time
import random

def mergeSort(alist):
    if len(alist)>1:
Example #13
0
import quicksort
import newmerge

print "------quicksort output-------------------"
t = [38, 42, 64, 55, 27, 856, 353]
s = [38, 42, 64, 55, 27, 856, 353]
print "unsorted input"
print t
print "sorted output"
quicksort.quickSort(s)
print(s)
print "-------Mergesort output------------------"
print "unsorted input"
print t
print "sorted output"
newmerge.mergeSort(s, 0, len(s) - 1)
for i in range(len(s)):
    print("%d" % s[i]),
Example #14
0
# for line in fp:
# arr.append(int(line.strip()))

start = time.process_time()
bubbleSort(arr)
end = time.process_time()
elapsed = (end - start) * (10**6)
print("Time for Bubblesort:")
print("%.3f" % (elapsed))

start = time.process_time()
merge_sort(arr)
end = time.process_time()
elapsed = (end - start) * (10**6)
print("Time for Mergesort:")
print("%.3f" % (elapsed))

start = time.process_time()
quickSort(arr)
end = time.process_time()
elapsed = (end - start) * (10**6)
print("Time for Quicksort:")
print("%.3f" % (elapsed))

start = time.process_time()
selectionSort(arr)
end = time.process_time()
elapsed = (end - start) * (10**6)
print("Time for Selectionsort:")
print("%.3f" % (elapsed))
import random, time
from quicksort import quickSort

A = list(range(0, 1000000))
random.shuffle(A)

start_time = time.time()

quickSort(A, 0, len(A) - 1)

end_time = time.time()
print("{} seconds".format(end_time - start_time))
wierzchołki=raw_input("Wprowadz wierzchołki: ")
wierzchołki=wierzchołki.split()
lista_wierzchołkow= [(a) for a in wierzchołki]
print(lista_wierzchołkow)

ilość_krawędzi=raw_input("Wprowadz liczbę krawędzi: ")
lista_krawedzi=[]
#dodawanie krawedzi
for x in range(0,int(ilość_krawędzi)):
    krawedz= raw_input("Wprowadz 2 wierzchołki krawedzi i wage kazde po spacji nastepnie enter: ")
    krawedz= krawedz.split()
    krawedz= [(a) for a in krawedz]
    lista_krawedzi.append(krawedz)

#sortowanie
lista_krawedzi=quickSort(lista_krawedzi)
print(lista_krawedzi)

##przykladowe dane

# lista_wierzchołkow = list( "ABCDEF" )
# lista_krawedzi = [ ("A", "B", 4), ("B", "C", 2),
#           ("A", "F", 2),("C", "D", 8),
#           ("F", "D", 6),
#           ("A", "E", 1),("E", "B", 2),
#           ("F", "E", 7),("E", "D", 3),
#           ]


##########
print('algorytm kruskala')
Example #17
0
 def pretretedInputDataInitialCentroidsNear(self,array):
     quickSort(array)
     center1=array[int(len(array)/4)]
     centre2=array[int(len(array)/2)]
     centre3=array[int(len(array)*3/4)]
     return center1['array'], centre2['array'], centre3['array']
Example #18
0
import time
from mergesort import mergeSort
from quicksort import quickSort

import random

difference = []
for i in range(1, 10):
    arr = []
    for x in range(1000):
        arr.append(random.randint(1, 1000))
    s = time.time()
    quickSort(arr, 0, len(arr) - 1)
    e = time.time()
    time1 = e - s
    s = time.time()
    mergeSort(arr)
    e = time.time()
    time2 = e - s
    difference.append(time2 - time1)
    print(i, "quickSort: ", time1, "mergeSort: ", time2)
    print("The average difference in running time is: ",
          sum(difference) / len(difference))
from quicksort import quickSort

num_elements = 20000  # lunghezza della lista da ordinare

unaLista = []
# generiamo una lista di 10000 interi a caso
for i in range(num_elements):
    unaLista.append(rnd.randint(1, 100000))

start = time.time()  # segna il tempo di inizio nella variabile start
insertionSort(unaLista)
stop = time.time()  # segna il tempo di fine nella variabile start
print('Insertion sort per', stop - start, "secondi.")

unaLista = []
for i in range(num_elements):
    unaLista.append(rnd.randint(1, 100000))

start = time.time()  # segna il tempo di inizio nella variabile start
quickSort(unaLista)
stop = time.time()  # segna il tempo di fine nella variabile start
print('Quick Sort per', stop - start, "secondi.")

unaLista = []
for i in range(num_elements):
    unaLista.append(rnd.randint(1, 100000))

start = time.time()  # segna il tempo di inizio nella variabile start
sorted(unaLista)
stop = time.time()  # segna il tempo di fine nella variabile start
print('Merge Sort per', stop - start, "secondi.")
Example #20
0
		if item1 < item2:
			out.append(item1)
			point1 += 1
		elif item2 < item1:
			out.append(item2)
			point2 += 1
		else:
			out.append(item1)
			point1 += 1
			point2 += 2
	
	if point1 == len(in1):
		out += in2[-(len(in2) - point2):]
	elif point2 == len(in2):
		out += in1[-(len(in1) - point1):]

	return out

#in1 = input("First data list: ").split(", ")
#in2 = input("Second data list: ").split(", ")

in1 = ['apple','pomegranite','damson','plum','banana']
in2 = ['dog','frog','sheep','pig','leopard','lion','cheetah','steve']

in1 = quickSort(in1, 0, len(in1) - 1)
in2 = quickSort(in2, 0, len(in2) - 1)
print(in1)
print(in2)

print(mergeSort(in1, in2))
Example #21
0
    print '\033[94m Generating random initial solutions... \033[0m'
    paths = alg.initialRandomSolutions(starting_point, objectives)

    max_generations = 25000 # We should better wait for convergence

    for p in range(len(paths)):
        paths[p].fitness = alg.fitness(paths[p].points, occ_grid)

    max_p = max(paths, key=lambda x:x.fitness)

    max_f = 0
    count = 0

    for i in range(max_generations):
        quickSort(paths)
        if max_f < paths[0].fitness:
            max_f = paths[0].fitness
            count = 0
            print '\033[94m Current maximum fitness:\033[0m\033[92m ' + str(max_f) + '\033[0m\033[94m, Generation:\033[0m\033[92m ' + str(i) +' \033[0m'
        else:
            count += 1
            if count >= 2000:
                # Looks like the algorithm converged (or won't ever converge!)
                break

        p1 = alg.tournament_selection(paths)
        p2 = alg.tournament_selection(paths)

        new_path = []
        # Always crossover (cr = 1)
Example #22
0
import quicksort
import shellsort
import numpy as np
import time

list1 = np.random.rand(100000)
list2 = np.random.rand(100000)

t = time.time()
quicksort.quickSort(list2, 0, 100000 - 1)
print(time.time() - t)

t = time.time()
shellsort.shellSort(list1)
print(time.time() - t)
Example #23
0
    972, 527, 779, 954, 551, 511, 26, 125, 658, 686, 275, 585, 297, 61, 594,
    402, 97, 432, 717, 276, 176, 271, 397, 698, 749, 652, 92, 999, 214, 418,
    790, 815, 548, 596, 650, 188, 346, 250, 586, 382, 94, 894, 124, 16, 342,
    302, 357, 408, 134, 351, 245, 918, 145, 653, 168, 540, 196, 974, 56, 942,
    436, 948, 986, 324, 238, 844, 526, 595, 207, 542, 975, 831, 24, 763, 117,
    920, 343, 514, 415, 210, 720, 781, 303, 226, 105, 834, 193, 465, 973, 648,
    926, 633, 62, 221, 962, 228, 833, 251, 978, 715, 452, 45, 74, 30, 758, 805,
    803, 383, 101, 347, 576, 632, 291, 898, 569, 798, 716, 433, 209, 473, 316,
    386, 15, 562, 792, 991, 626
]
#  1,250 samples (To many, Broke)
# DataSet = [941, 1490, 34, 1080, 1157, 1029, 1488, 828, 613, 1210, 485, 341, 1382, 548, 1011, 568, 980, 1173, 283, 338, 896, 575, 472, 1354, 376, 1391, 987, 975, 1097, 402, 1496, 845, 621, 30, 541, 768, 211, 667, 419, 997, 570, 67, 1313, 887, 244, 836, 852, 1236, 567, 861, 702, 288, 266, 223, 462, 156, 609, 1155, 1398, 878, 1107, 708, 1167, 1338, 841, 194, 551, 1306, 1115, 871, 371, 260, 213, 23, 1079, 1356, 743, 590, 930, 498, 396, 372, 783, 699, 1355, 1245, 1466, 1110, 521, 953, 33, 598, 629, 517, 154, 1290, 1272, 291, 47, 815, 1473, 72, 1194, 1131, 1342, 1095, 256, 292, 168, 1156, 893, 295, 1211, 658, 961, 1324, 346, 477, 1394, 958, 1172, 1500, 687, 504, 518, 167, 1334, 296, 133, 1195, 519, 342, 378, 584, 185, 123, 114, 533, 832, 1242, 976, 734, 1393, 370, 1111, 474, 1312, 1444, 555, 527, 1062, 793, 686, 1359, 271, 503, 1091, 1371, 1474, 326, 1002, 895, 379, 236, 60, 904, 1179, 791, 332, 1069, 1040, 1149, 38, 377, 353, 487, 957, 257, 1468, 491, 1133, 990, 11, 1206, 95, 466, 1130, 207, 20, 1351, 725, 1275, 1385, 1380, 700, 75, 863, 642, 421, 1284, 1402, 817, 631, 248, 1343, 637, 563, 894, 949, 218, 709, 1076, 1022, 362, 1291, 1087, 689, 170, 1274, 240, 781, 1218, 792, 147, 42, 1387, 1153, 902, 1323, 206, 770, 1460, 96, 1212, 1041, 635, 977, 448, 799, 368, 755, 1374, 145, 1213, 705, 1358, 141, 764, 713, 90, 502, 363, 858, 269, 126, 826, 1051, 656, 706, 844, 1243, 1, 50, 712, 862, 1436, 813, 912, 1201, 343, 327, 516, 351, 380, 1409, 829, 1431, 45, 988, 1445, 830, 391, 1121, 263, 55, 754, 1178, 27, 1423, 993, 110, 79, 1476, 410, 469, 803, 750, 104, 939, 65, 633, 865, 731, 1057, 1158, 405, 450, 1353, 1202, 329, 611, 1008, 559, 1367, 1455, 146, 286, 105, 1246, 86, 461, 1010, 1090, 148, 385, 956, 1073, 1100, 1384, 719, 1112, 735, 348, 747, 125, 790, 937, 1294, 489, 190, 1085, 606, 1376, 671, 193, 1438, 16, 1048, 1268, 617, 900, 1400, 909, 872, 903, 1255, 13, 468, 116, 82, 1463, 925, 300, 850, 1276, 923, 1220, 1349, 880, 273, 442, 1397, 1270, 1310, 856, 1307, 869, 599, 864, 253, 514, 74, 1136, 703, 1174, 31, 311, 324, 303, 639, 369, 280, 707, 14, 386, 245, 540, 834, 318, 121, 1401, 1148, 1239, 1118, 1317, 931, 1023, 582, 1392, 1469, 970, 796, 1106, 918, 97, 175, 690, 881, 397, 1258, 701, 1188, 753, 270, 198, 1298, 1410, 1389, 554, 840, 1492, 381, 1267, 766, 158, 1144, 866, 804, 1458, 955, 8, 1470, 562, 107, 9, 464, 645, 1362, 1052, 1451, 58, 1054, 698, 6, 726, 282, 408, 84, 839, 718, 1231, 1176, 973, 910, 868, 139, 587, 1003, 93, 297, 666, 627, 1028, 225, 328, 933, 888, 943, 137, 1072, 1442, 944, 1145, 622, 1346, 1024, 1364, 52, 490, 429, 1263, 1262, 1184, 603, 860, 71, 927, 335, 438, 512, 481, 187, 618, 979, 1320, 1319, 597, 1021, 1417, 1237, 1125, 758, 1448, 349, 989, 820, 467, 1361, 293, 692, 112, 1297, 192, 586, 1345, 1240, 197, 1259, 1187, 261, 1396, 238, 1369, 738, 986, 226, 299, 670, 710, 471, 655, 181, 1116, 1180, 1203, 1025, 876, 37, 94, 162, 36, 325, 1082, 453, 1475, 691, 83, 441, 1221, 1127, 322, 411, 204, 810, 950, 650, 1163, 428, 628, 1303, 350, 1462, 720, 835, 1478, 473, 819, 1055, 1428, 1182, 315, 1151, 433, 1165, 842, 1420, 1150, 1075, 1315, 1026, 959, 1408, 1363, 1352, 249, 647, 394, 763, 665, 1038, 166, 934, 588, 661, 465, 729, 333, 1119, 1269, 1450, 981, 195, 1227, 159, 88, 623, 132, 1425, 483, 1014, 539, 795, 1429, 615, 677, 965, 1283, 807, 1253, 436, 632, 1335, 1102, 954, 1232, 174, 761, 366, 1162, 1452, 1147, 1443, 232, 316, 875, 1205, 638, 929, 1331, 1241, 151, 877, 1034, 456, 693, 119, 1004, 855, 1059, 837, 809, 529, 1430, 932, 532, 304, 247, 678, 228, 339, 1101, 1250, 800, 526, 778, 1098, 583, 742, 996, 375, 641, 1046, 169, 1000, 561, 674, 1108, 459, 922, 991, 1286, 1419, 507, 177, 78, 1282, 1027, 565, 1332, 913, 373, 1347, 1326, 1058, 1109, 936, 345, 389, 952, 242, 1370, 1215, 336, 749, 822, 945, 35, 118, 129, 630, 29, 1019, 1309, 1226, 525, 757, 853, 178, 600, 849, 317, 340, 69, 28, 161, 347, 1433, 392, 921, 1049, 1141, 420, 1414, 425, 827, 1427, 544, 302, 1064, 1159, 906, 113, 1299, 948, 634, 1316, 1199, 1128, 176, 17, 85, 493, 885, 982, 1390, 911, 66, 106, 445, 210, 203, 415, 646, 619, 1415, 475, 1207, 1372, 305, 673, 688, 657, 463, 40, 733, 874, 739, 401, 289, 1013, 717, 999, 313, 120, 98, 797, 1388, 928, 748, 787, 334, 488, 684, 1084, 1103, 1328, 969, 5, 1497, 1033, 785, 497, 1325, 382, 1464, 201, 1487, 307, 3, 1446, 659, 184, 255, 73, 109, 545, 963, 229, 1314, 730, 234, 407, 752, 1185, 886, 7, 740, 208, 777, 294, 172, 644, 1223, 434, 695, 437, 1257, 1186, 219, 1104, 612, 972, 57, 873, 1365, 352, 143, 596, 595, 974, 19, 1461, 1036, 1482, 564, 653, 1117, 607, 571, 1271, 1418, 191, 546, 1020, 1129, 235, 278, 681, 81, 1277, 48, 572, 704, 1471, 21, 374, 1060, 946, 458, 537, 1168, 482, 1421, 264, 254, 1412, 183, 200, 393, 1330, 494, 940, 723, 241, 140, 287, 942, 1005, 789, 1381, 284, 1077, 1422, 4, 919, 103, 891, 1494, 798, 843, 1288, 357, 136, 102, 859, 1065, 1225, 889, 215, 1341, 89, 160, 1434, 142, 857, 1217, 165, 319, 1068, 1050, 416, 62, 675, 679, 1348, 281, 816, 680, 569, 951, 775, 1042, 454, 173, 992, 1413, 883, 406, 846, 1222, 150, 1114, 528, 935, 626, 1200, 1411, 1289, 1296, 262, 43, 1123, 1233, 452, 1171, 788, 1007, 390, 1183, 501, 76, 364, 1333, 399, 355, 323, 1081, 722, 721, 1254, 535, 417, 447, 479, 1135, 39, 1379, 890, 967, 100, 784, 524, 513, 579, 1405, 439, 926, 1001, 1039, 1190, 767, 899, 806, 715, 1140, 152, 1304, 652, 620, 251, 138, 1375, 1154, 1481, 80, 805, 553, 258, 824, 1368, 205, 831, 901, 573, 1449, 157, 68, 230, 1261, 984, 239, 1302, 966, 669, 431, 202, 1479, 46, 1175, 1447, 1031, 744, 651, 384, 117, 773, 538, 924, 643, 1006, 268, 443, 1017, 101, 1300, 186, 530, 495, 1416, 1169, 398, 277, 199, 155, 566, 321, 1142, 978, 1281, 847, 1406, 774, 732, 217, 24, 801, 1238, 938, 22, 1196, 1373, 1264, 1293, 727, 367, 460, 558, 1209, 1181, 301, 10, 549, 1467, 2, 1350, 823, 435, 724, 625, 1344, 547, 714, 1089, 907, 1318, 838, 593, 594, 737, 908, 1134, 1454, 947, 492, 915, 649, 592, 1477, 1327, 1260, 337, 1063, 1126, 476, 360, 409, 54, 1285, 616, 983, 1336, 1160, 1078, 760, 663, 808, 772, 1056, 1137, 515, 414, 26, 985, 444, 1339, 1047, 780, 92, 736, 359, 917, 265, 250, 387, 962, 1292, 1067, 1234, 854, 510, 1426, 1124, 1216, 1161, 1499, 1139, 762, 870, 1311, 1472, 422, 534, 1228, 290, 1093, 668, 1012, 786, 274, 1086, 1120, 1208, 1244, 496, 214, 361, 1308, 1170, 604, 608, 1197, 581, 542, 577, 683, 1483, 765, 1092, 1164, 237, 1071, 1383, 1099, 115, 1486, 1030, 53, 309, 1424, 41, 1266, 12, 127, 833, 446, 1122, 1278, 189, 427, 164, 605, 331, 1070, 968, 1146, 272, 64, 654, 905, 751, 449, 998, 771, 716, 1360, 108, 196, 697, 898, 1192]

BS_StartTime = time.time()
bubbleSort(DataSet)
BS_EndTime = time.time()

MS_StartTime = time.time()
mergeSort(DataSet)
MS_EndTime = time.time()

QS_StartTime = time.time()
quickSort(DataSet, 0, len(DataSet) - 1)
QS_EndTime = time.time()
print('Random Samples sorted: ', len(DataSet))
print('Bubble Sort took ', str(BS_EndTime - BS_StartTime))
print('Merge Sort took ', str(MS_EndTime - MS_StartTime))
print('Quick Sort took ', str(QS_EndTime - QS_StartTime))

# dir_path = os.path.dirname(os.path.realpath(__file__))
# print(dir_path)
import quicksort as qs
import bubblesort as bs
import selectionsort as ss
import numpy
import time

ls = numpy.random.randint(1000, size=100)

# print(ls)
print("*******************************************")
print("QuickSort ")
t1 = time.time()
qs.quickSort(ls, asc=True)
t2 = time.time()
print("Cres: ", (t2 - t1))
t1 = time.time()
qs.quickSort(ls, asc=False)
t2 = time.time()
print("Desc: ", (t2 - t1))
print("*******************************************")
print("BubbleSort ")
t1 = time.time()
bs.bubble_sort(ls, asc=True)
t2 = time.time()
print("Cres: ", (t2 - t1))
t1 = time.time()
bs.bubble_sort(ls, asc=False)
t2 = time.time()
print("Desc: ", (t2 - t1))
print("*******************************************")
print("SelectionSort ")
##
#  This program demonstrates the quick sort algorithm by sorting a list
#  that is filled with random numbers.
#

from random import randint
from quicksort import quickSort

n = 20
values = []
for i in range(n):
    values.append(randint(1, 100))

print(values)
quickSort(values, 0, n - 1)
print(values)
Example #26
0
    userSelection = input()

    #Run the selected algorithm
    if userSelection == '1':
        startTime = time.time()
        selectionsort.selectionSort(alist)
        endTime = time.time()
        resultsFile.write("You chose Selection sort\n")
    elif userSelection == '2':
        startTime = time.time()
        insertionsort.insertionSort(alist)
        endTime = time.time()
        resultsFile.write("You chose Insertion sort\n")
    elif userSelection == '3':
        startTime = time.time()
        alist = quicksort.quickSort(alist)
        endTime = time.time()
        resultsFile.write("You chose Quick sort\n")
    elif userSelection == '4':
        startTime = time.time()
        mergesort.mergeSort(alist)
        endTime = time.time()
        resultsFile.write("You chose Merge sort\n")
    elif userSelection == '5':
        startTime = time.time()
        heapsort.heapSort(alist)
        endTime = time.time()
        resultsFile.write("You chose Heap sort\n")
    elif userSelection == '6':
        startTime = time.time()
        countingsort.countingSort(alist)
Example #27
0
def executeAlgos():
	# yield 'Starting executeAlgos...\n'

	shortSize = 10
	popSize = shortSize * 10
	shortData = random.sample(range(0, popSize), shortSize) # Generate Random data
	copyShortData = copy.deepcopy(shortData) # Maintain a copy for other algorithms
	print ("Generated random short data with %d elements\n"%shortSize)
	print "short data = "+ str(shortData) + "\n"
	stdout.flush()
	# yield ("Generated random short data with %d elements"%shortSize)

	# ------- SMALL DATASETS SORTING --------
	# Merge sort : small dataset
	startTime = datetime.datetime.now()
	mergeSort(shortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print "Merge sorted short data = "+ str(shortData) + " in "+str(elapsedTime)+"\n"
	stdout.flush()
	# yield "\nMerge sorted short data = "+ str(shortData) + " in "+str(elapsedTime)

	# Quick sort : small dataset
	shortData = copy.deepcopy(copyShortData)
	startTime = datetime.datetime.now()
	quickSort(shortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print "Quick sorted short data = "+ str(shortData) + " in "+str(elapsedTime) + "\n"
	stdout.flush()
	# yield "\nQuick sorted short data = "+ str(shortData) + " in "+str(elapsedTime)
		
	# Heap sort : small dataset
	shortData = copy.deepcopy(copyShortData)
	startTime = datetime.datetime.now()
	heapSort(shortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print "Heap sorted short data = "+ str(shortData) + " in "+str(elapsedTime) + "\n"
	stdout.flush()
	# yield "\nQuick sorted short data = "+ str(shortData) + " in "+str(elapsedTime)

	# Insertion sort : small dataset
	shortData = copy.deepcopy(copyShortData)
	startTime = datetime.datetime.now()
	insertionSort(shortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print "Insertion sorted short data = "+ str(shortData) + " in "+str(elapsedTime)+ "\n"
	stdout.flush()
	
	# Selection sort : small dataset
	shortData = copy.deepcopy(copyShortData)
	startTime = datetime.datetime.now()
	selectionSort(shortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print "Selection sorted short data = "+ str(shortData) + " in "+str(elapsedTime)+ "\n"
	stdout.flush()
	



	# -------- LARGE DATA -------

	print '\n\n--------- Large data sets ---------\n\n' 	

	largeSize = 10000    # Data set size for large data set demonstration
	popSize = largeSize * 10 # Domain of random numbers allowed in random data set
	largeData = random.sample(range(0, popSize), largeSize) # Genrate Random data
	copyLargeData = copy.deepcopy(largeData) # Maintain a copy for other algorithms
	print ("Generated random large data with %d elements\n"%largeSize)
	# print "Large data = "+ str(largeData)+"\n"
	stdout.flush()
	# yield ("Generated random large data with %d elements"%largeSize)

	# Merge sort : large dataset
	print 'Merge sorting large data (%d elements)...\n' %( largeSize) 
	stdout.flush()
	startTime = datetime.datetime.now()
	mergeSortLargeData = copy.deepcopy(copyLargeData) # Maintain a copy for other algorithms
	mergeSort(mergeSortLargeData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print ("Merge sorted large data (%d elements) in "%( largeSize) + str(elapsedTime) ) + "\n"
	stdout.flush()
	# yield ("Merge sorted large data (%d elements) in "%( largeSize) + str(elapsedTime) )

	# Quick sort : large dataset
	print 'Quick sorting large data (%d elements)...\n' %( largeSize) 
	stdout.flush()
	quickSortLargeData = copy.deepcopy(copyLargeData)
	startTime = datetime.datetime.now()
	quickSort(quickSortLargeData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print ("Quick sorted large data (%d elements) in "%( largeSize) + str(elapsedTime)+ "\n" )
	stdout.flush()
	# yield ("Quick sorted large data (%d elements) in "%( largeSize) + str(elapsedTime) )

	# Heap sort : large dataset
	print 'Heap sorting large data (%d elements)...\n' %( largeSize) 
	stdout.flush()
	heapSortLargeData = copy.deepcopy(copyLargeData)
	startTime = datetime.datetime.now()
	heapSort(heapSortLargeData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print ("Heap sorted large data (%d elements) in "%( largeSize) + str(elapsedTime)+ "\n" )
	stdout.flush()
	# yield ("Quick sorted large data (%d elements) in "%( largeSize) + str(elapsedTime) )


	# Insertion sort : large dataset
	print 'Insertion sorting large data (%d elements)...\n' %( largeSize) 
	stdout.flush()
	insertionSortLargeData = copy.deepcopy(copyLargeData)
	startTime = datetime.datetime.now()
	insertionSort(insertionSortLargeData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print ("Insertion sorted large data (%d elements) in "%( largeSize) + str(elapsedTime)+ "\n" )
	stdout.flush()
	
	# Selection sort : large dataset
	print 'Selection sorting large data (%d elements)...\n' %( largeSize) 
	stdout.flush()
	largeSelectionSortData = copy.deepcopy(copyLargeData)
	startTime = datetime.datetime.now()
	selectionSort(largeSelectionSortData)
	endTime = datetime.datetime.now()
	elapsedTime = endTime - startTime
	print ("Selection sorted large data (%d elements) in "%( largeSize) + str(elapsedTime) + "\n")
	stdout.flush()
	

	print "Printing large data sets...\n"
	print "Raw large data set = "+ str(largeData)+"\n\n\n\n"
	print "\n\n ------ Sorted Large Data sets ------\n\n"
	print "Merge sorted large data = "+ str(mergeSortLargeData)+"\n\n\n\n"
	print "Quick Sorted large data = "+ str(quickSortLargeData)+"\n\n\n\n"
	print "Heap Sorted large data = "+ str(heapSortLargeData)+"\n\n\n\n"
	print "Insertion Sorted large data = "+ str(insertionSortLargeData)+"\n\n\n\n"
	print "Selection Sorted large data = "+ str(selectionSortLargeData)+"\n\n\n\n"
	print '\nAlgorithms execution ended ...\n'
	stdout.flush()
Example #28
0
def timeQSort(l):
    newList = quicksort.quickSort(l)
    return str(newList)
Example #29
0
start = time.time()

#open hist data files
histfile = open("hist.txt", "r+")
lines = histfile.readlines()
data = [tuple(line.strip().split()) for line in lines]

#open input data files
inputfile = open("input.txt", "r")
lines = inputfile.readlines()
inputdata = [tuple(line.strip().split()) for line in lines]

#sort data file

quicksort.quickSort(data, 0, len(data) - 1)

#read in input file

for inputitem in inputdata:
    j = linearsearch.LinearSearch(data, inputitem[2], 4)
    approve = 0
    reject = 0
    if len(j):
        for item in j:
            if item[2] == inputitem[0] and item[3] == inputitem[1]:
                if item[5] == "Approved":
                    approve = approve + 1
                else:
                    reject = reject + 1
        add_appid(inputitem, item[0], histfile)