Compare commits
4 Commits
5f369d92f6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ac9feec8dd | |||
| 6da16b20cf | |||
|
7d7a2b73d9
|
|||
|
11b0fae9c7
|
@@ -32,7 +32,23 @@ int h(int x, int m, int i){
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Funkcja wstawiajaca jeden element x do tablicy mieszajacej tab o rozmiarze m
|
int h_kw(int x, int m, int i){
|
||||||
|
g_counter++;
|
||||||
|
int formula = ((x % m) + (2 * i * i) - (5*i)) % m;
|
||||||
|
return (formula<0) ? (m+formula)%m : formula;
|
||||||
|
};
|
||||||
|
|
||||||
|
int h_d(int x, int m, int i){
|
||||||
|
g_counter++;
|
||||||
|
int formula = ((x % m) + i*((((x/m)%(m/2))*2) + 1))%m;
|
||||||
|
return formula;
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
*h(x, i, m) = (h1(x, m) + i*(h2(x, m)) mod m dla: i = 0, 1, 2, . . . , m − 1,
|
||||||
|
h1(x, m) = x mod m,
|
||||||
|
h2(x, m) = (((x/m) mod (m/2)) * 2) + 1.
|
||||||
|
*
|
||||||
|
** Funkcja wstawiajaca jeden element x do tablicy mieszajacej tab o rozmiarze m
|
||||||
@param A tablica mieszajaca
|
@param A tablica mieszajaca
|
||||||
@param m rozmiar tablicy mieszajacej
|
@param m rozmiar tablicy mieszajacej
|
||||||
@param x element wstawiany do tablicy
|
@param x element wstawiany do tablicy
|
||||||
@@ -52,9 +68,56 @@ bool hash_al_wstaw(int * A, int m, int x)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hash_al_szukaj(int x, int m, int * A){
|
bool hash_al_szukaj(int * A, int m, int x){
|
||||||
for (int i = 0; i < m; i++) {
|
for (int i = 0; i < m; i++) {
|
||||||
int k = h(x, i, m);
|
int k = h(x, m, i);
|
||||||
|
if (A[k] == x){ return true;}
|
||||||
|
if (A[k] == EMPTY){ return false;}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool hash_al_wstaw_kw(int * A, int m, int x)
|
||||||
|
{
|
||||||
|
// Zaimplementuj
|
||||||
|
//...
|
||||||
|
for (int i = 0; i < m-1; i++) {
|
||||||
|
int k = h_kw(x, m, i);
|
||||||
|
if (A[k] == EMPTY || A[k] == REMOVED){
|
||||||
|
A[k]=x;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hash_al_szukaj_kw(int * A, int m, int x){
|
||||||
|
for (int i = 0; i < m; i++) {
|
||||||
|
int k = h_kw(x, m, i);
|
||||||
|
if (A[k] == x){ return true;}
|
||||||
|
if (A[k] == EMPTY){ return false;}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hash_al_wstaw_d(int * A, int m, int x)
|
||||||
|
{
|
||||||
|
// Zaimplementuj
|
||||||
|
//...
|
||||||
|
for (int i = 0; i < m-1; i++) {
|
||||||
|
int k = h_d(x, m, i);
|
||||||
|
if (A[k] == EMPTY || A[k] == REMOVED){
|
||||||
|
A[k]=x;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hash_al_szukaj_d(int * A, int m, int x){
|
||||||
|
for (int i = 0; i < m; i++) {
|
||||||
|
int k = h_d(x, m, i);
|
||||||
if (A[k] == x){ return true;}
|
if (A[k] == x){ return true;}
|
||||||
if (A[k] == EMPTY){ return false;}
|
if (A[k] == EMPTY){ return false;}
|
||||||
}
|
}
|
||||||
@@ -141,7 +204,7 @@ int main()
|
|||||||
std::cerr << "Ilość wywołań funkcji wstawiającej: " << g_counter << "\n";
|
std::cerr << "Ilość wywołań funkcji wstawiającej: " << g_counter << "\n";
|
||||||
// d) Zmierz sredni czas wstawiania elementu oraz srednią liczbe wywolan funkcji mieszajacej przy wstawianiu elementu do tablicy wypelnionej w 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% (dla próbki: 10000 elementów).
|
// d) Zmierz sredni czas wstawiania elementu oraz srednią liczbe wywolan funkcji mieszajacej przy wstawianiu elementu do tablicy wypelnionej w 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% (dla próbki: 10000 elementów).
|
||||||
//UWAGA! Do tablicy mieszajacej nie wstawiac elementow, ktore juz w niej sa.
|
//UWAGA! Do tablicy mieszajacej nie wstawiac elementow, ktore juz w niej sa.
|
||||||
for(double range : {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
for (int i = 0; i < m ; i++)
|
for (int i = 0; i < m ; i++)
|
||||||
{
|
{
|
||||||
tab[i] = EMPTY;
|
tab[i] = EMPTY;
|
||||||
@@ -169,8 +232,163 @@ int main()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::cerr << std::endl;
|
||||||
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
|
for (int i = 0; i < m ; i++)
|
||||||
|
{
|
||||||
|
tab[i] = EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
for (int i = 0; i < range*m; i++) {
|
||||||
|
hash_al_wstaw(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
// Mierzenie czasu, przyklad:
|
||||||
|
std::cerr << "Pomiar wyszukiwania dla " << range*100 << "%\n";
|
||||||
|
int idx=0;
|
||||||
|
int krok = (range*m)/10000;
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
for (int i = 0; i < 10000; i++) {
|
||||||
|
hash_al_szukaj(tab, m, dane[idx]);
|
||||||
|
idx = idx+krok;
|
||||||
|
|
||||||
|
}
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::micro> czas = stop - start;
|
||||||
|
std::cerr << "Uplynelo: " << czas.count() << " us\n";
|
||||||
|
std::cerr << "Ilość wywołań funkcji szukającej: " << g_counter << "\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
//...
|
//...
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
|
for (int i = 0; i < m ; i++)
|
||||||
|
{
|
||||||
|
tab[i] = EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
for (int i = 0; i < range*m; i++) {
|
||||||
|
hash_al_wstaw_kw(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
// Mierzenie czasu, przyklad:
|
||||||
|
std::cerr << "Pomiar wstawiania kwadratowego dla " << range*100 << "%\n";
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
for (int i = range*m; i < (range*m)+10000; i++) {
|
||||||
|
hash_al_wstaw_kw(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::micro> czas = stop - start;
|
||||||
|
std::cerr << "Uplynelo: " << czas.count() << " us\n";
|
||||||
|
std::cerr << "Ilość wywołań funkcji wstawiającej: " << g_counter << "\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cerr << std::endl;
|
||||||
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
|
for (int i = 0; i < m ; i++)
|
||||||
|
{
|
||||||
|
tab[i] = EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
for (int i = 0; i < range*m; i++) {
|
||||||
|
hash_al_wstaw_kw(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
// Mierzenie czasu, przyklad:
|
||||||
|
std::cerr << "Pomiar wyszukiwania kwadratowego dla " << range*100 << "%\n";
|
||||||
|
int idx=0;
|
||||||
|
int krok = (range*m)/10000;
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
for (int i = 0; i < 10000; i++) {
|
||||||
|
hash_al_szukaj_kw(tab, m, dane[idx]);
|
||||||
|
idx = idx+krok;
|
||||||
|
|
||||||
|
}
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::micro> czas = stop - start;
|
||||||
|
std::cerr << "Uplynelo: " << czas.count() << " us\n";
|
||||||
|
std::cerr << "Ilość wywołań funkcji szukającej: " << g_counter << "\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
std::cerr<<std::endl;
|
||||||
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
|
for (int i = 0; i < m ; i++)
|
||||||
|
{
|
||||||
|
tab[i] = EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
for (int i = 0; i < range*m; i++) {
|
||||||
|
hash_al_wstaw_d(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
// Mierzenie czasu, przyklad:
|
||||||
|
std::cerr << "Pomiar wstawiania podwójnego dla " << range*100 << "%\n";
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
for (int i = range*m; i < (range*m)+10000; i++) {
|
||||||
|
hash_al_wstaw_d(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::micro> czas = stop - start;
|
||||||
|
std::cerr << "Uplynelo: " << czas.count() << " us\n";
|
||||||
|
std::cerr << "Ilość wywołań funkcji wstawiającej: " << g_counter << "\n";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cerr << std::endl;
|
||||||
|
for(double range : {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}){
|
||||||
|
for (int i = 0; i < m ; i++)
|
||||||
|
{
|
||||||
|
tab[i] = EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
for (int i = 0; i < range*m; i++) {
|
||||||
|
hash_al_wstaw_d(tab, m, dane[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_counter = 0;
|
||||||
|
// Mierzenie czasu, przyklad:
|
||||||
|
std::cerr << "Pomiar wyszukiwania podwójnego dla " << range*100 << "%\n";
|
||||||
|
int idx=0;
|
||||||
|
int krok = (range*m)/10000;
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
for (int i = 0; i < 10000; i++) {
|
||||||
|
hash_al_szukaj_d(tab, m, dane[idx]);
|
||||||
|
idx = idx+krok;
|
||||||
|
|
||||||
|
}
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::micro> czas = stop - start;
|
||||||
|
std::cerr << "Uplynelo: " << czas.count() << " us\n";
|
||||||
|
std::cerr << "Ilość wywołań funkcji szukającej: " << g_counter << "\n";
|
||||||
|
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
198
projekt 2/wyniki
Normal file
198
projekt 2/wyniki
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
ccache g++ main.cpp -O3 ; ./a.out
|
||||||
|
Zadanie 1 i 2:
|
||||||
|
indeks: 0 1 2 3 4 5 6 7
|
||||||
|
| 8| 32| 18| 11| 3| 19| 6| 27|
|
||||||
|
|
||||||
|
Zadanie 3:
|
||||||
|
Pomiary:
|
||||||
|
Uplynelo: 126.55 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 10027
|
||||||
|
Pomiar dla 0%
|
||||||
|
Uplynelo: 138.935 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 10027
|
||||||
|
Pomiar dla 10%
|
||||||
|
Uplynelo: 207.2 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 11134
|
||||||
|
Pomiar dla 20%
|
||||||
|
Uplynelo: 171.703 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 12586
|
||||||
|
Pomiar dla 30%
|
||||||
|
Uplynelo: 223.379 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 14719
|
||||||
|
Pomiar dla 40%
|
||||||
|
Uplynelo: 228.542 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 18122
|
||||||
|
Pomiar dla 50%
|
||||||
|
Uplynelo: 405.386 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 23967
|
||||||
|
Pomiar dla 60%
|
||||||
|
Uplynelo: 641.565 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 34883
|
||||||
|
Pomiar dla 70%
|
||||||
|
Uplynelo: 655.346 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 58539
|
||||||
|
Pomiar dla 80%
|
||||||
|
Uplynelo: 920.719 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 141291
|
||||||
|
Pomiar dla 90%
|
||||||
|
Uplynelo: 2630.29 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 1031327
|
||||||
|
|
||||||
|
Pomiar wyszukiwania dla 0%
|
||||||
|
Uplynelo: 16.316 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10000
|
||||||
|
Pomiar wyszukiwania dla 10%
|
||||||
|
Uplynelo: 179.774 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10469
|
||||||
|
Pomiar wyszukiwania dla 20%
|
||||||
|
Uplynelo: 215.523 us
|
||||||
|
Ilość wywołań funkcji szukającej: 11063
|
||||||
|
Pomiar wyszukiwania dla 30%
|
||||||
|
Uplynelo: 225.127 us
|
||||||
|
Ilość wywołań funkcji szukającej: 11869
|
||||||
|
Pomiar wyszukiwania dla 40%
|
||||||
|
Uplynelo: 222.726 us
|
||||||
|
Ilość wywołań funkcji szukającej: 13028
|
||||||
|
Pomiar wyszukiwania dla 50%
|
||||||
|
Uplynelo: 281.561 us
|
||||||
|
Ilość wywołań funkcji szukającej: 14451
|
||||||
|
Pomiar wyszukiwania dla 60%
|
||||||
|
Uplynelo: 306.791 us
|
||||||
|
Ilość wywołań funkcji szukającej: 16648
|
||||||
|
Pomiar wyszukiwania dla 70%
|
||||||
|
Uplynelo: 347.754 us
|
||||||
|
Ilość wywołań funkcji szukającej: 20499
|
||||||
|
Pomiar wyszukiwania dla 80%
|
||||||
|
Uplynelo: 448.781 us
|
||||||
|
Ilość wywołań funkcji szukającej: 28296
|
||||||
|
Pomiar wyszukiwania dla 90%
|
||||||
|
Uplynelo: 537.918 us
|
||||||
|
Ilość wywołań funkcji szukającej: 60891
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pomiar wstawiania kwadratowego dla 0%
|
||||||
|
Uplynelo: 172.556 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 10026
|
||||||
|
Pomiar wstawiania kwadratowego dla 10%
|
||||||
|
Uplynelo: 311.798 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 11094
|
||||||
|
Pomiar wstawiania kwadratowego dla 20%
|
||||||
|
Uplynelo: 231.598 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 12526
|
||||||
|
Pomiar wstawiania kwadratowego dla 30%
|
||||||
|
Uplynelo: 235.907 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 14433
|
||||||
|
Pomiar wstawiania kwadratowego dla 40%
|
||||||
|
Uplynelo: 428.465 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 17060
|
||||||
|
Pomiar wstawiania kwadratowego dla 50%
|
||||||
|
Uplynelo: 483.488 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 21127
|
||||||
|
Pomiar wstawiania kwadratowego dla 60%
|
||||||
|
Uplynelo: 560.193 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 26632
|
||||||
|
Pomiar wstawiania kwadratowego dla 70%
|
||||||
|
Uplynelo: 756.761 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 37045
|
||||||
|
Pomiar wstawiania kwadratowego dla 80%
|
||||||
|
Uplynelo: 1135.67 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 57629
|
||||||
|
Pomiar wstawiania kwadratowego dla 90%
|
||||||
|
Uplynelo: 1795.81 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 148303
|
||||||
|
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 0%
|
||||||
|
Uplynelo: 32.94 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10000
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 10%
|
||||||
|
Uplynelo: 214.541 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10465
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 20%
|
||||||
|
Uplynelo: 284.842 us
|
||||||
|
Ilość wywołań funkcji szukającej: 11039
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 30%
|
||||||
|
Uplynelo: 299.646 us
|
||||||
|
Ilość wywołań funkcji szukającej: 11819
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 40%
|
||||||
|
Uplynelo: 317.421 us
|
||||||
|
Ilość wywołań funkcji szukającej: 12799
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 50%
|
||||||
|
Uplynelo: 308.17 us
|
||||||
|
Ilość wywołań funkcji szukającej: 13904
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 60%
|
||||||
|
Uplynelo: 444.892 us
|
||||||
|
Ilość wywołań funkcji szukającej: 15562
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 70%
|
||||||
|
Uplynelo: 388.018 us
|
||||||
|
Ilość wywołań funkcji szukającej: 17541
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 80%
|
||||||
|
Uplynelo: 533.717 us
|
||||||
|
Ilość wywołań funkcji szukającej: 20932
|
||||||
|
Pomiar wyszukiwania kwadratowego dla 90%
|
||||||
|
Uplynelo: 608.259 us
|
||||||
|
Ilość wywołań funkcji szukającej: 27729
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pomiar wstawiania podwójnego dla 0%
|
||||||
|
Uplynelo: 197.845 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 10026
|
||||||
|
Pomiar wstawiania podwójnego dla 10%
|
||||||
|
Uplynelo: 189.227 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 11022
|
||||||
|
Pomiar wstawiania podwójnego dla 20%
|
||||||
|
Uplynelo: 227.451 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 12390
|
||||||
|
Pomiar wstawiania podwójnego dla 30%
|
||||||
|
Uplynelo: 278.675 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 14124
|
||||||
|
Pomiar wstawiania podwójnego dla 40%
|
||||||
|
Uplynelo: 316.518 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 16399
|
||||||
|
Pomiar wstawiania podwójnego dla 50%
|
||||||
|
Uplynelo: 379.453 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 19853
|
||||||
|
Pomiar wstawiania podwójnego dla 60%
|
||||||
|
Uplynelo: 541.923 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 25401
|
||||||
|
Pomiar wstawiania podwójnego dla 70%
|
||||||
|
Uplynelo: 639.561 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 34991
|
||||||
|
Pomiar wstawiania podwójnego dla 80%
|
||||||
|
Uplynelo: 790.009 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 60276
|
||||||
|
Pomiar wstawiania podwójnego dla 90%
|
||||||
|
Uplynelo: 1407.91 us
|
||||||
|
Ilość wywołań funkcji wstawiającej: 223788
|
||||||
|
|
||||||
|
Pomiar wyszukiwania podwójnego dla 0%
|
||||||
|
Uplynelo: 27.314 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10000
|
||||||
|
Pomiar wyszukiwania podwójnego dla 10%
|
||||||
|
Uplynelo: 225.373 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10431
|
||||||
|
Pomiar wyszukiwania podwójnego dla 20%
|
||||||
|
Uplynelo: 303.779 us
|
||||||
|
Ilość wywołań funkcji szukającej: 10982
|
||||||
|
Pomiar wyszukiwania podwójnego dla 30%
|
||||||
|
Uplynelo: 323.16 us
|
||||||
|
Ilość wywołań funkcji szukającej: 11734
|
||||||
|
Pomiar wyszukiwania podwójnego dla 40%
|
||||||
|
Uplynelo: 365.064 us
|
||||||
|
Ilość wywołań funkcji szukającej: 12625
|
||||||
|
Pomiar wyszukiwania podwójnego dla 50%
|
||||||
|
Uplynelo: 332.231 us
|
||||||
|
Ilość wywołań funkcji szukającej: 13575
|
||||||
|
Pomiar wyszukiwania podwójnego dla 60%
|
||||||
|
Uplynelo: 389.842 us
|
||||||
|
Ilość wywołań funkcji szukającej: 15084
|
||||||
|
Pomiar wyszukiwania podwójnego dla 70%
|
||||||
|
Uplynelo: 444.708 us
|
||||||
|
Ilość wywołań funkcji szukającej: 17007
|
||||||
|
Pomiar wyszukiwania podwójnego dla 80%
|
||||||
|
Uplynelo: 483.813 us
|
||||||
|
Ilość wywołań funkcji szukającej: 20158
|
||||||
|
Pomiar wyszukiwania podwójnego dla 90%
|
||||||
|
Uplynelo: 564.271 us
|
||||||
|
Ilość wywołań funkcji szukającej: 29538
|
||||||
Reference in New Issue
Block a user