Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. ----HANOI-----
  2. #include <iostream>
  3. #include <fstream>
  4. using namespace std;
  5. ifstream f("date.in");
  6. ofstream g("date.out");
  7.  
  8. void hanoi(int n, char a, char b, char c)
  9. {
  10. if(n==1) g<<a<<"->"<<b<<endl;
  11. else
  12. {
  13. hanoi(n-1,a,c,b);
  14. g<<a<<"->"<<b<<endl;
  15. hanoi(n-1,c,b,a);
  16. }
  17. }
  18. int main()
  19. {
  20. int n;
  21. char a='A',b='B',c='C';
  22. f>>n;
  23. hanoi(n,a,b,c);
  24. }
  25.  
  26. ----QUICK SORT----
  27.  
  28. -se bazeaza pe divide et impera astfel se alege un element aflat in mijlocul vectorului numic element pivot
  29. -cu ajutorul algortitmului trebuie ca elementele din stanga pivotului sa fie mai mici decat pivotul si elementele din dreapta pivotului sa fie mai mari decat pivotul
  30. -primul element din stanga care nu indeplineste conditia cu primul element din dreapta care nu indeplineste conditia se interschimba intre ele si se continua cautarea
  31. -se aplica recursiv algoritmul pentru subvectorii determinati cu ajutorul pivotului
  32.  
  33. #include <iostream>
  34. #include <fstream>
  35. using namespace std;
  36. ifstream f("date.in");
  37. ofstream g("date.out");
  38. int v[100],i,n;
  39.  
  40. void QS(int i, int j)
  41. {
  42. int s,d,m,aux;
  43. s=i;
  44. d=j;
  45. m=v[(i+j)/2];
  46. while(s<=d)
  47. {
  48. while(v[s]<m) s++;
  49. /** il apropii de mijloc */
  50. while(v[d]>m) d--;
  51. /** il apropii de mijloc*/
  52. if(s<=d)
  53. {
  54. aux=v[s];
  55. v[s]=v[d];
  56. v[d]=aux;
  57. s++;
  58. d--;
  59. }
  60. }
  61. if(i<d) QS(i,d);
  62. if(j>s) QS(s,j);
  63. }
  64. int main()
  65. {
  66. f>>n;
  67. for(i=1;i<=n;i++)
  68. f>>v[i];
  69. QS(1,n);
  70. for(i=1;i<=n;i++)
  71. g<<v[i]<<" ";
  72. }
  73.  
  74. -exista metode quick sort in care pivotul este eprimul sau ultimul element
  75. -metoda de sortare quick sort are timp de executie nlogn comparativ cu metodele studiate pana in acest moment care au timp de executie n^2
  76.  
  77.  
  78. ----MERGE SORT----
  79.  
  80. - n-am inteles
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement