Sprawdź się
O(1)? Możliwe odpowiedzi: 1. Połaczenie dwóch list jednokierunkowych w jedną przy pomocy wskaźników na koniec i początek list., 2. Pobranie elementu według indeksu., 3. Wstawienie elementu na koniec bez użycia wskaźnika na ostatni węzeł na liście., 4. Wstawienie wyrazu na początek listy przy użyciu wskaźnika na pierwszy element listy.Zapisz w postaci pseudokodu funkcję zwróć_węzeł() przyjmującą jako argumenty listę jednokierunkową oraz indeks. Funkcja powinna zwracać węzeł o podanym indeksie lub w przypadku braku takiego węzła wartość pustą. Przyjmij, że indeksy oznaczają pozycję węzła w liście i zaczynają się od zera.
Specyfikacja problemu:
Dane:
lista– lista jednokierunkowa, składająca się z połączonych ze sobą węzłówindeks– liczba naturalna reprezentująca pozycję węzła
Wynik:
węzeł znajdujący się pod danym indeksem albo wartość pusta, jeśli takiego węzła nie ma
Dana jest jednokierunkowa lista zawierająca elementy, w których wartościami są liczby całkowite oraz pole głowa wskazujące pierwszy element listy. Zapisz w postaci pseudokodu funkcję filtruj(), która przyjmuje jako argumenty listę oraz liczbę całkowitą i zwraca nową listę zawierającą wartości większe od liczby podanej jako argument.
Specyfikacja problemu:
Dane:
lista– jednokierunkowa lista zawierająca elementy, których wartościami są liczby całkowiteliczba– liczba całkowita
Wynik:
nowa– nowa lista zawierająca tylko te elementy z oryginalnej listy, których wartości są większe niż podana liczba całkowita
Mamy dwie jednokierunkowe niecykliczne listy lista1 i lista2, które są instancjami podanej niżej klasy Lista. Elementami listy są węzły tworzone na podstawie podanej niżej struktury. Listy mogą zawierać 0 lub więcej elementów. Zapisz w postaci pseudokodu funkcję połącz() przyjmującą jako argumenty dwie listy, która zwróci listę zawierającą wszystkie elementy otrzymanych list.
Specyfikacja problemu:
Dane:
lista1– lista jednokierunkowalista2– lista jednokierunkowa
Wynik:
dwie połączone ze sobą listy
Dana jest klasa Kolejka korzystająca z listy jednokierunkowej. Lista składa się z węzłów zawierających wskaźnik do następnego elementu oraz wartość w postaci liczby naturalnej dodatniej. Zapisz w postaci pseudokodu metody dodaj() oraz usuń() wykonujące operacje dodawania i usuwania elementów z kolejki. Metoda usuń() powinna zwracać liczbę zapisaną w usuwanym elemencie lub wartość 0, jeżeli kolejka jest pusta.
Specyfikacja problemu:
Dane:
liczba– liczba naturalna dodatnia
Wynik:
liczba zapisana w zwracanym elemencie lub wartość 0
Klasa Lista() definiuje listę jednokierunkową przechowującą węzły z wartościami w postaci liczb całkowitych. Metoda dodaj() pozwala na dodawanie elementów, a metoda usuń_głowa() usuwa i zwraca pierwszy element listy. Zapisz w postaci pseudokodu funkcję połącz(), która łączy dwie posortowane niemalejąco listy i zwraca jedną posortowaną listę. Zastanów się, czy wykorzystanie trzeciej listy zwiększa złożoność pamięciową operacji łączenia.
Specyfikacja problemu:
Dane:
lista1– posortowana niemalejąco lista jednokierunkowalista2– posortowana niemalejąco lista jednokierunkowa
Wynik:
lista3– lista posortowana niemalejąco; lista powstała po połączeniu dwóch innych list
Zapisz w postaci pseudokodu funkcję, która wypisze elementy listy jednokierunkowej w odwrotnej kolejności, tj. od ogona do głowy.
W rozwiązaniu wykorzystaj rekurencję.
Specyfikacja problemu:
Dane:
lista– lista jednokierunkowa, której elementy mają zostać wypisane
Wynik:
wypisane w odwrotnej kolejności elementy listy
lista