Выполнить сравнительную оценку производительности программы сортировки, которая звучит следующим образом - Дан массив из 15 случайных однобайтных чисел в интервале [0;250]. Необходимо выполнить сортировку чисел по не возрастанию. Найти значение максимального элемента. , с производительностью аналогичной программы, разработанной на языке высокого уровня.
Для выполнения сравнительной оценки производительности программы сортировки, давайте рассмотрим два подхода:
Программа на языке C/C++:
#include <stdio.h> #include <stdlib.h>
void bubbleSort(unsigned char arr[], int n) { for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-i-1; j++) { if (arr[j] < arr[j+1]) { unsigned char temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } }
int main() { unsigned char arr[15] = {12, 24, 5, 89, 43, 67, 112, 200, 34, 76, 150, 3, 8, 200, 15}; int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n); printf("Sorted array in non-descending order:\n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); printf("Max element: %d\n", arr[0]); return 0;
}
2. Программа на языке Python: ```python import random def bubble_sort(arr): for i in range(len(arr)): for j in range(len(arr) - 1 - i): if arr[j] < arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] arr = [12, 24, 5, 89, 43, 67, 112, 200, 34, 76, 150, 3, 8, 200, 15] bubble_sort(arr) print("Sorted array in non-descending order:") print(arr) print("Max element:", arr[0])
Оба этих программы используют алгоритм сортировки пузырьком для сортировки массива по не убыванию и находят максимальный элемент в массиве. При сравнении производительности обе программы должны выполняться примерно за одинаковое время, так как алгоритм сортировки и данные в них совпадают.
Для выполнения сравнительной оценки производительности программы сортировки, давайте рассмотрим два подхода:
Программа на языке C/C++:#include <stdio.h>
#include <stdlib.h>
void bubbleSort(unsigned char arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] < arr[j+1]) {
unsigned char temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
bubbleSort(arr, n);unsigned char arr[15] = {12, 24, 5, 89, 43, 67, 112, 200, 34, 76, 150, 3, 8, 200, 15};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Sorted array in non-descending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("Max element: %d\n", arr[0]);
return 0;
}
2. Программа на языке Python:```python
import random
def bubble_sort(arr):
for i in range(len(arr)):
for j in range(len(arr) - 1 - i):
if arr[j] < arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [12, 24, 5, 89, 43, 67, 112, 200, 34, 76, 150, 3, 8, 200, 15]
bubble_sort(arr)
print("Sorted array in non-descending order:")
print(arr)
print("Max element:", arr[0])
Оба этих программы используют алгоритм сортировки пузырьком для сортировки массива по не убыванию и находят максимальный элемент в массиве. При сравнении производительности обе программы должны выполняться примерно за одинаковое время, так как алгоритм сортировки и данные в них совпадают.