Witam,
napisałem taki program, który sortuje wektor od 0 do 1. Jaka jest złożoność algorytmiczna i czas obliczeniowy? Muszę podać to w formie wykresu, ale nie wiem jak mam to zrobić. Proszę o podpowiedzi. Dodam, że jestem samoukiem, więc wybaczcie za głupie błędy. W załączniku przesyłam schemat blokowy.
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cstdio>
#include <ctime>
using namespace std;
int main()
{
clock_t start, koniec;
start = clock();
int n;
cout << "Podaj dlugosc tablicy:\n ";
cin >> n;
srand(time(NULL));
int tab[n];
for (int i = 0; i < n; i++) {
tab[i] = rand() % 2;
}
cout << "\nTablica przed posortowaniem: \n";
for (int i = 0; i < n; i++) {
cout << tab[i] << " ";
}
int p, q, mix;
p = 0;
q = n - 1;
while (p < q) {
while (tab[q] == 1)
q--;
while (tab[p] == 0)
p++;
if (p < q) {
mix = tab[p];
tab[p] = tab[q];
tab[q] = mix;
p++;
q--;
}
}
cout << "\nPodana, posortowana tablica to:\n";
for (int k = 0; k < n; k++) {
cout << tab[k] << " ";
}
koniec = clock();
cout << "\nczas: " << (koniec - start) << " milisekund";
;
}
- mmm.jpg (79 KB) - ściągnięć: 181
nalik