Podstawowe zadania z ASD

0

Cześć!

Sytuacja ma się tak, że jestem studentem pierwszego roku Informatyki. W 1 semestrze, z powodów zdrowotnych, zmuszony byłem opuścić kilka zajęć z algorytmów i struktur danych, co poskutkowało zaliczaniem w sesji poprawkowej tego przedmiotu. Zdaję sobie sprawę, że jest to absolutnie podstawowy obszar zagadnień na tym kierunku, jednak termin oddania zaliczenia nie pozwala mi na głębsze analizowanie, ponieważ mija on z dniem dzisiejszym (28.03.2019r, godz 00:00). Udało mi się wykonać 4 z 8 zadań, w związku z czym prosiłbym o code review, bo nie jestem pewien czy dobrze udało mi się to zrobić.
W załączniku zadania, które dostałem
Poniżej wklejam odpowiedzi do zadań, które udało mi się rozwiązać

Zad. 1.
wczytaj a,b,c
   m=a
    if b>m then m=b
      else if c>m then m=c
      wypisz

Zad. 2.
SORT(A,n)
 for i=2 to n do
  j=i
   while A[j]>A[j-1] do
    A[j] <-> A[j-1]
      j=j-1
      Return A

Zad. 5.
Max(L)
 L=head
 max=L->data
  while(L!=NIL)
   if(L->data>max)
    max=L->data
    L=L->next

Zad. 8.
MAX(T)
 wczytaj x=węzeł
 x->key=T
  while(right(x)!=NIL) x=x->right
  return T

Bardzo proszę o pomoc w rozwiązaniu zadań 4,6,7, ponieważ jest to dla mnie sprawa życia i śmierci (no prawie).

0

To jest ASD? Nawet na wstepie do informatyki sa trudniejsze rzeczy. Prosze cie;) mysle ze dasz sobie rade sam

0
  1. Wczytujesz z jednej kolejki do drugiej (FIFO) z licznikiem. Jak trafisz na szukany element to zapisujesz jego pozycję i przepisujesz resztę kolejki do pomocniczej. W kolejce pomocniczej masz teraz oryginalny układ i masz zapisaną pozycję elementu.
  2. min(tree) = min(root(tree), min(left(tree), right(tree))) - teraz zastanów się jak to zapisać w formie psedokodu
  3. max(min_heap) = if root(left(min_heap)) > root(right(min_heap)) then max(left(min_heap)) else max(right(min_heap)) - jak wyżej, teraz przełóż to na pseudokod jaki chcesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1