Więc tak, jest pewien trywialny algorytm, który mam napisany iteracyjne. Rzecz w tym, że mam napisać algorytm, który robi to samo rekurencyjnie. I tutaj pojawia się problem.
Treść zadania:
Dana jest n-elementowa tablica liczb całkowitych (n >= 2). Należy znaleźć indeks największej i najmniejszej wartości.
Bardzo proste rozwiązanie iteracyjne:
const int n = 5; //oczywiście może tutaj być coś dowolnego >= 2
int tab[n];
int maxIndex = 0;
int minIndex = 0;
for (int i = 1; i < n; i++)
{
if (tab[i] > tab[maxIndex]) maxIndex = i;
else if (tab[i] < tab[minIndex]) minIndex = i;
}
No i teraz pytanie, jak ugryźć rekurencyjny algorytm realizujący to zadanie? Myślałem nad dzieleniem tablicy na coraz mniejsze elementy, tylko pytanie co dalej (no i jak w takim wypadku poradzić sobie, gdy liczba elementów jest nieparzysta).