Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. STAŁA
  2. np odczyt z tablicy
  3. LOGARYTMICZNA
  4. pętle w których co iteracje zmieniamy i Q razy tzn np:
  5. for (int i=1; i<n; i = i*2) {} <- log2 n
  6. for (int i=1; i<n; i=i*3){} <- log3 n
  7. itp
  8. rekurencja
  9. kiedy wywołujemy analogicznie rekurencje zmniejszając argument Q razy np
  10. void foo(int a)
  11. {
  12. if (a == 1) return;
  13. else return foo(a/2);
  14. } <- log2 n
  15.  
  16. LINIOWA
  17. to kiedy w zależności od rozmiarów zbioru przechodzimy go po kolei np iterowanie po tablicy od 0 do n-1
  18. for (int i=0; i<n; i++) {} <- n
  19. lub rekurencyjnie
  20. void foo(int a)
  21. {
  22. if (a==1) return;
  23. else return foo(a-1);
  24. }
  25. LINIOWO LOGARYTMICZNA
  26. *pętle - kiedy dla kolejnych elementów wykonujemy logarytmiczną liczbę porównań (pętla w pętli) lub odwrotnie
  27. for (int i=1; i<n; i = i*2)
  28. {
  29. for (int i=0; i<n; i++) {}
  30. }
  31.  
  32. lub
  33. for (int i=1; i<n; i = i++)
  34. {
  35. for (int i=0; i<n; i=i*2) {}
  36. }
  37.  
  38. *rekurencja - najczęściej w liniowej (lub logarytmicznej) pętli wywołujemy rekurencje logarytmiczną (lub liniową)
  39. np
  40. void foo(int a)
  41. {
  42. if (a == 1) return;
  43. else return foo(a/2);
  44. }
  45. for (int i=0; i<n; i++) foo(i);
  46.  
  47. WIELOMIANOWA
  48. * zagnieżdżone pętle
  49. for (int i=0; i<n; i++)
  50. for (int j=0; j<n; j++) {} <- n^2
  51.  
  52. for (int i=0; i<n; i++)
  53. for (int j=0; j<n; j++)
  54. for (int k=0; k<n; k++)
  55. {} <- n^3
  56.  
  57. WYKŁADNICZA
  58. raczej nie spotykana w iteracyjnych rozwiązaniach
  59. rekurencja - kiedy dla każdego z n wywołań wywołujemy k kolejnych to wtedy mamy zlozonosc k^n
  60. np
  61. void foo(int a)
  62. {
  63. if (a==1) return;
  64. else return foo(a-1) + foo(a-2);
  65. } <- 2^n
  66. void foo(int a)
  67. {
  68. if (a==1 || a == 0 || a == 2) return ;
  69. else return foo(a-1) + foo(a-2) + foo(a-3);
  70. } <- 3^n
  71.  
  72. SILNIA - kiedy próbujemy przejrzeć całą przestrzeń rozwiązań, np ustawiania miast w kolejności (ostatni algorytm)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement