From d7cccb791a837bf9a21e404d9c435947c080edb2 Mon Sep 17 00:00:00 2001 From: Piotr Kozak Date: Wed, 16 Apr 2025 17:16:08 +0200 Subject: [PATCH] init --- .gitignore | 1 + benchmark.py | 69 ++++++++++++++++++ heapsort | Bin 0 -> 16000 bytes heapsort.c | 76 ++++++++++++++++++++ insertion | Bin 0 -> 15832 bytes insertion.c | 25 +++++++ insertion_benchmark.png | Bin 0 -> 49200 bytes results.txt | 150 ++++++++++++++++++++++++++++++++++++++++ selection | Bin 0 -> 15920 bytes selection.c | 35 ++++++++++ selection_benchmark.png | Bin 0 -> 47824 bytes 11 files changed, 356 insertions(+) create mode 100644 .gitignore create mode 100644 benchmark.py create mode 100755 heapsort create mode 100644 heapsort.c create mode 100755 insertion create mode 100644 insertion.c create mode 100644 insertion_benchmark.png create mode 100644 results.txt create mode 100755 selection create mode 100644 selection.c create mode 100644 selection_benchmark.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0c19cf9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +benchmarks/** diff --git a/benchmark.py b/benchmark.py new file mode 100644 index 0000000..4f6b9a7 --- /dev/null +++ b/benchmark.py @@ -0,0 +1,69 @@ +import subprocess +from random import randint +from time import time, sleep +import matplotlib.pyplot as plt + +def run_benchmark(program_name, array): + start = time() + process = subprocess.Popen(program_name, stdin=subprocess.PIPE) + process.communicate((f"{len(array)}\n" + "\n".join(map(str, array))).encode()) + end = time() + return end - start + +def generate_sequence(sequence_type, array_size): + if sequence_type == "random": + return [randint(0, 100) for i in range(array_size)] + elif sequence_type == "sorted": + return [i for i in range(array_size)] + elif sequence_type == "reversed": + return [i for i in range(array_size, 0, -1)] + elif sequence_type == "constant": + return [5 for i in range(array_size)] + elif sequence_type == "v_shaped": + return [i for i in range(array_size//2, 0, -1)]+[i for i in range(array_size//2)] + else: + raise ValueError("Invalid sequence type") + +def plot(program_name, sequences, array_size): + plt.figure(figsize=(10, 6)) + for sequence_type, timings in sequences.items(): + plt.plot(array_size, timings, label=sequence_type) + plt.xlabel("") + plt.ylabel("Czas (ms)") + plt.title(f"{program_name}") + plt.legend() + plt.savefig(f"benchmarks/{program_name}.png") + # plt.show() + +if __name__ == "__main__": + program_names = ["./insertion", "./selection"] + sequence_types = ["random", "sorted", "reversed", "constant", "v_shaped"] + array_sizes = [i for i in range(1000, 15001, 1000)] + + with open("results.txt", "w") as f: + for program_name in program_names: + sequenceTiming = { + "random": [], + "sorted": [], + "reversed": [], + "constant": [], + "v_shaped": [] + } + print(f"Running {program_name}") + for sequence_type in sequence_types: + print(f" - running {sequence_type}") + for array_size in array_sizes: + sequence = generate_sequence(sequence_type, array_size) + print(f" - running {sequence_type} with size {array_size}") + durations = [] + for i in range(10): + duration = run_benchmark(program_name, sequence) + duration *= 1000 + durations.append(duration) + sleep(0.1) + duration = sum(durations) / len(durations) + f.write(f"{program_name} {sequence_type} {array_size} {duration}\n") + sequenceTiming[sequence_type].append(duration) + sleep(0.5) + plot(program_name, sequenceTiming, array_sizes) + print("Benchmark finished") diff --git a/heapsort b/heapsort new file mode 100755 index 0000000000000000000000000000000000000000..df90b1e0d494f705b1852329b46ea0a281e9fe31 GIT binary patch literal 16000 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 YR=|Y7v@@t;VPIeY^*_J@Py$^)0K=@JCjbBd literal 0 HcmV?d00001 diff --git a/heapsort.c b/heapsort.c new file mode 100644 index 0000000..16fd0c2 --- /dev/null +++ b/heapsort.c @@ -0,0 +1,76 @@ +#include +#include + +void Heapify(int A[], int i, int heapsize) { + int left = 2 * i +1; + int right = (2 * i) + 2; + int largest = i; + + if (left <= heapsize && A[left] > A[largest]) { + largest = left; + } else { + largest = i; + } + + if (right <= heapsize && A[right] > A[largest]) { + largest = right; + } + + if (largest != i) { + int temp = A[largest]; + A[largest] = A[i]; + A[i] = temp; + Heapify(A, largest, heapsize); + } +} + +int main() { + int size; + int res = scanf("%d", &size); + if (res != 1) { + fprintf(stderr, "Error reading size\n"); + return 1; + } + int *array = malloc(sizeof(int) * size); + for (int i = 0; i < size; i++) { + res = scanf("%d", &array[i]); + if (res != 1) { + fprintf(stderr, "Error reading array element\n"); + free(array); + return 1; + } + } + + printf("pre heap:"); + for (int i = 0; i < size; i++) { + printf("%d ", array[i]); + } + + // Build the heap + for (int i = size / 2 - 1; i >= 0; i--) { + Heapify(array, i, size); + } + + printf("\npost heap:"); + for (int i = 0; i < size; i++) { + printf("%d ", array[i]); + } + + int heapsize = size; + for (int i = size - 1; i >= 0; i--) { + int temp = array[i]; + array[i] = array[1]; + array[1] = temp; + heapsize--; + Heapify(array, i, heapsize); + } + + printf("\npost sort:"); + + for (int i = 0; i < size; i++) { + printf("%d ", array[i]); + } + + free(array); + return 0; +} diff --git a/insertion b/insertion new file mode 100755 index 0000000000000000000000000000000000000000..6135dce0b5844450b2065981f7d5ccc559a8f90f GIT binary patch literal 15832 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 +#include + +// Capture the pipe of array contents, first number is the size +int main() { + int s; + scanf("%d", &s); + int *array = malloc(sizeof(int) * s); + for (int i = 0; i < s; i++) { + scanf("%d", &array[i]); + } + + for (int j = 1; j < s; j++) { + int key = array[j]; + int i = j - 1; + while (i >= 0 && array[i] > key) { + array[i + 1] = array[i]; + i -= 1; + } + array[i + 1] = key; + } + + free(array); + return 0; +} diff --git a/insertion_benchmark.png b/insertion_benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..3d99f9515a834248fd4de4c289c31072ef02e61e GIT binary patch literal 49200 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 z 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 literal 0 HcmV?d00001 diff --git a/results.txt b/results.txt new file mode 100644 index 0000000..50d2643 --- /dev/null +++ b/results.txt @@ -0,0 +1,150 @@ +./insertion random 1000 1.0615110397338867 +./insertion random 2000 1.5358448028564453 +./insertion random 3000 2.274918556213379 +./insertion random 4000 3.3971309661865234 +./insertion random 5000 4.603886604309082 +./insertion random 6000 6.020760536193848 +./insertion random 7000 7.8598737716674805 +./insertion random 8000 9.824132919311523 +./insertion random 9000 12.162041664123535 +./insertion random 10000 14.610838890075684 +./insertion random 11000 17.46840476989746 +./insertion random 12000 20.206165313720703 +./insertion random 13000 23.66960048675537 +./insertion random 14000 27.488040924072266 +./insertion random 15000 30.75859546661377 +./insertion sorted 1000 0.8951187133789062 +./insertion sorted 2000 0.9664773941040039 +./insertion sorted 3000 1.1182308197021484 +./insertion sorted 4000 1.237630844116211 +./insertion sorted 5000 1.397252082824707 +./insertion sorted 6000 1.5844106674194336 +./insertion sorted 7000 1.7046451568603516 +./insertion sorted 8000 1.8734216690063477 +./insertion sorted 9000 2.349853515625 +./insertion sorted 10000 2.4387359619140625 +./insertion sorted 11000 2.462148666381836 +./insertion sorted 12000 2.5963783264160156 +./insertion sorted 13000 3.156876564025879 +./insertion sorted 14000 3.132033348083496 +./insertion sorted 15000 3.238677978515625 +./insertion reversed 1000 1.2768268585205078 +./insertion reversed 2000 2.137279510498047 +./insertion reversed 3000 3.491377830505371 +./insertion reversed 4000 5.584287643432617 +./insertion reversed 5000 7.988524436950684 +./insertion reversed 6000 10.77868938446045 +./insertion reversed 7000 14.134597778320312 +./insertion reversed 8000 18.278932571411133 +./insertion reversed 9000 22.71718978881836 +./insertion reversed 10000 27.739286422729492 +./insertion reversed 11000 33.2233190536499 +./insertion reversed 12000 39.423227310180664 +./insertion reversed 13000 45.474839210510254 +./insertion reversed 14000 52.727437019348145 +./insertion reversed 15000 60.09998321533203 +./insertion constant 1000 0.9403467178344727 +./insertion constant 2000 0.9927988052368164 +./insertion constant 3000 1.1275291442871094 +./insertion constant 4000 1.2822389602661133 +./insertion constant 5000 1.5305280685424805 +./insertion constant 6000 1.5430212020874023 +./insertion constant 7000 1.8325090408325195 +./insertion constant 8000 1.804804801940918 +./insertion constant 9000 2.2058486938476562 +./insertion constant 10000 2.1335840225219727 +./insertion constant 11000 2.322697639465332 +./insertion constant 12000 2.5031328201293945 +./insertion constant 13000 2.8443336486816406 +./insertion constant 14000 2.675914764404297 +./insertion constant 15000 2.9070377349853516 +./insertion v_shaped 1000 1.075124740600586 +./insertion v_shaped 2000 1.6106843948364258 +./insertion v_shaped 3000 2.419257164001465 +./insertion v_shaped 4000 3.438878059387207 +./insertion v_shaped 5000 4.725170135498047 +./insertion v_shaped 6000 6.513190269470215 +./insertion v_shaped 7000 7.992100715637207 +./insertion v_shaped 8000 10.184979438781738 +./insertion v_shaped 9000 12.364602088928223 +./insertion v_shaped 10000 15.029740333557129 +./insertion v_shaped 11000 18.083977699279785 +./insertion v_shaped 12000 21.661686897277832 +./insertion v_shaped 13000 24.31178092956543 +./insertion v_shaped 14000 27.93755531311035 +./insertion v_shaped 15000 32.60822296142578 +./selection random 1000 1.4104366302490234 +./selection random 2000 2.2107839584350586 +./selection random 3000 3.5886764526367188 +./selection random 4000 5.592441558837891 +./selection random 5000 7.922983169555664 +./selection random 6000 11.436033248901367 +./selection random 7000 14.230155944824219 +./selection random 8000 18.193602561950684 +./selection random 9000 22.896504402160645 +./selection random 10000 29.131484031677246 +./selection random 11000 33.37256908416748 +./selection random 12000 39.19968605041504 +./selection random 13000 47.031211853027344 +./selection random 14000 53.545570373535156 +./selection random 15000 61.37092113494873 +./selection sorted 1000 1.2252330780029297 +./selection sorted 2000 2.236461639404297 +./selection sorted 3000 3.660869598388672 +./selection sorted 4000 5.638456344604492 +./selection sorted 5000 8.042407035827637 +./selection sorted 6000 11.208224296569824 +./selection sorted 7000 14.447546005249023 +./selection sorted 8000 18.74523162841797 +./selection sorted 9000 22.982478141784668 +./selection sorted 10000 28.246402740478516 +./selection sorted 11000 34.0437650680542 +./selection sorted 12000 39.82250690460205 +./selection sorted 13000 46.31156921386719 +./selection sorted 14000 53.86967658996582 +./selection sorted 15000 61.89534664154053 +./selection reversed 1000 1.210784912109375 +./selection reversed 2000 2.1828174591064453 +./selection reversed 3000 3.7517547607421875 +./selection reversed 4000 5.427956581115723 +./selection reversed 5000 8.042573928833008 +./selection reversed 6000 10.962772369384766 +./selection reversed 7000 14.444756507873535 +./selection reversed 8000 18.53172779083252 +./selection reversed 9000 22.98440933227539 +./selection reversed 10000 28.051161766052246 +./selection reversed 11000 33.19251537322998 +./selection reversed 12000 39.997243881225586 +./selection reversed 13000 45.667243003845215 +./selection reversed 14000 53.35855484008789 +./selection reversed 15000 60.373663902282715 +./selection constant 1000 1.2602806091308594 +./selection constant 2000 2.1334409713745117 +./selection constant 3000 3.5085439682006836 +./selection constant 4000 5.34212589263916 +./selection constant 5000 7.747673988342285 +./selection constant 6000 10.555744171142578 +./selection constant 7000 14.265799522399902 +./selection constant 8000 18.23742389678955 +./selection constant 9000 22.236275672912598 +./selection constant 10000 27.255654335021973 +./selection constant 11000 32.57889747619629 +./selection constant 12000 38.65196704864502 +./selection constant 13000 45.708537101745605 +./selection constant 14000 51.95658206939697 +./selection constant 15000 59.54868793487549 +./selection v_shaped 1000 1.179647445678711 +./selection v_shaped 2000 2.0728111267089844 +./selection v_shaped 3000 3.5805463790893555 +./selection v_shaped 4000 5.700540542602539 +./selection v_shaped 5000 8.303594589233398 +./selection v_shaped 6000 10.987281799316406 +./selection v_shaped 7000 14.623737335205078 +./selection v_shaped 8000 18.853092193603516 +./selection v_shaped 9000 22.894835472106934 +./selection v_shaped 10000 27.98130512237549 +./selection v_shaped 11000 33.84420871734619 +./selection v_shaped 12000 39.37234878540039 +./selection v_shaped 13000 46.07586860656738 +./selection v_shaped 14000 53.040337562561035 +./selection v_shaped 15000 60.929179191589355 diff --git a/selection b/selection new file mode 100755 index 0000000000000000000000000000000000000000..f3f1257920fb78f59bec2c9f4f04cf03efc08c1d GIT binary patch literal 15920 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 Xv=yONz=Xi`XHzi6@C!o0Np$@Hc?9DA literal 0 HcmV?d00001 diff --git a/selection.c b/selection.c new file mode 100644 index 0000000..1499d9b --- /dev/null +++ b/selection.c @@ -0,0 +1,35 @@ +#include +#include + +int main() { + int s; + int res = scanf("%d", &s); + if (res != 1) { + fprintf(stderr, "Error reading size\n"); + return 1; + } + int *array = malloc(sizeof(int) * s); + for (int i = 0; i < s; i++) { + res = scanf("%d", &array[i]); + if (res != 1) { + fprintf(stderr, "Error reading array element\n"); + free(array); + return 1; + } + } + + for (int j = s; j > 1; j--) { + int max = j; + for (int i = j - 1; i >= 0; i--) { + if (array[i] > array[max]) { + max = i; + }; + }; + int temp = array[j]; + array[j] = array[max]; + array[max] = temp; + } + + free(array); + return 0; +} diff --git a/selection_benchmark.png b/selection_benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..e297dc0127e85e82a3da9a152d6da4fb8f1978eb GIT binary patch literal 47824 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 YPCJVg6TDm*7#J8lUHx3vIVCg!0Ll+Ed;kCd literal 0 HcmV?d00001