C++ вычисление сложности алгоритма
,
1. стандартный алгоритм вычисления количества отрицательных элементов одномерного числового массива из тысячи элементов работает 0,01 сек. оцените время работы того же алгоритма на том же компьютере, если длина массива миллион элементов.
2. вычислите сложность поиска нулевых элементов в матрице размера мxn.
3. подсчитайте сложность алгоритма сложения двух двоичных чисел, при записи которых использовалось n-цифр.
150 * 60 *40 = 360000 символов (всего)
1 символ = 1 байт
360000:=
1) 2880000 битов
2) (приблизительно) 352 кб
3) 0,34 мб
4) 0, 0003 гб
5) 0,0000003 терабайта Если для кодирования символа используется 8 бит, то объем книги:
1500*40*60*8 бит = 150*40*60*8 /8 байт = 150*40*60 байт =
150*40*60 / 1024 Кбайт = 351,5625 Кбайт = 351,5625/1024 Мбайт ≈ 0,35 Мбайт.
или
Если для кодирования символа используется 8 бит, то объем книги:
1500*40*60*8 бит = 150*40*60*8 /8 байт = 150*40*60 байт =
150*40*60 / 1024 Кбайт = 351,5625 Кбайт = 351,5625/1024 Мбайт ≈ 0,35 Мбайт.
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
struct CD{
string name;
string singer;
int year;
int duration;
double cost;
};
signed main() {
int ans1 = 0,ans2 = 0;
int n;
cin >> n;
CD a1[n],a2[n];
for(int i = 0; i < n; i++)
cin >> a1[i].name >> a1[i].singer >> a1[i].year >> a1[i].duration >> a1[i].duration;
for(int i = 0; i < n; i++)
cin >> a2[i].name >> a2[i].singer >> a2[i].year >> a2[i].duration >> a2[i].duration;
for(auto i: a1)
ans1 += i.duration;
for(auto i: a2)
ans2 += i.duration;
cout << "1 collection durates: " << ans1 << "\n";
cout << "2 collection durates: " << ans2 << "\n";
cout << "both collections durate: " << ans1 + ans2 << "\n";
}