ćwiczenia na rekurencję

0

Znacie jakieś dobre zbiorki zadań na rekurencję? Chcę ją poćwiczyć w Javie, bo czaję o co chodzi, ale brak mi błyskotliwości w tym.

albo może sami mi zadacie jakieś ćwiczenia tylko nie wymagające głębszej znajomości języka programowania niż poziom początkujący. :)

1

Prosto, to może, silnia, Fibonacci, długość listy, suma liczb, potem może swoje map, reduce i filter. Potrzebujesz tylko w javie funkcji działających na listach i zwracających head (głowę listy), tail (resztę - bez głowy) i isEmpty? Dalej, na przykład, rozłożenie liczby na sumę kwadratów, funkcja pobierająca string i liczbę i zwracająca string powtórzony liczba razy. Jak to Przerobisz, to Zgłoś się po więcej:)

1

Dobra, to Jakbyś do funkcji head: head([1, 2, 3]) // -> 1, tail: tail([1, 2, 3]) // -> [2, 3] i isEmpty, dołozył cons: cons(elem, [2, 3])// -> [elem, 2, 3], to byłoby sporo fajnych ćwiczeń:

  • flat zagnieżdzaną listę;
  • ostatni element listy;
  • najdłuższa lista: maxList([1], [3, 4])// -> [3, 4];
  • contains? - zwraca true gdy lista zawiera elem: : contains(1, [1, 2, 3]) // -> true
  • equal? : zwraca true gdy 2 listy sa równe: equal([2, 3], [2, 3]) // -> true
  • funkcja range;
  • oczywiście reverse list;
  • frequencies - zwraca mapę: freq([1, 1, 2, 3]) / -> {1: 2, 2: 1, 3: 1}
  • remove, insert i concat 2 lists;
  • rotacje: rot([1, 2]) // -> 1, 2], [2, 1;
    Z innych, to, np, Huffman Codding, podnoszenie do potęgi.
2

Bardziej praktyczne:
Kasowanie dysku folder po folderze,
Web crawler

2

Proszę, a tutaj ile rekurencji w javie:) http://introcs.cs.princeton.edu/java/23recursion/

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