Article View: pl.comp.lang.c
Article #555Re: rekurencja a pamiec ?
From: Karpierz
Date: Tue, 06 Jan 1998 09:58
Date: Tue, 06 Jan 1998 09:58
52 lines
2659 bytes
2659 bytes
Michał Suski <suseu@polbox.com> napisał(a) w artykule
<01bd1a68$168cf760$08fa74c3@suseu>...
> dzięki za wyczerpującą odpowiedź, spróbuję tych sztuczek,
> ale zwiększanie stosu w linkerze absolutnie nie pomaga,
> a zmienną w procedurze mam tylko jedną, a parametry
> trzy - niezbędne :)
Przy tak malej ilosci danych sztuczki zostaw w spokoju.
ustawienie _stklen powinno czesciowo pomoc:
unsigned int _stklen = 64000;
int main (void)
{
....
}
ale....
Przeczytalem w innym postingu ze chcesz rozwiazac labirynt.
Nie pisalem nigdy labiryntu ale jesli zamierzasz rekurencyjnie
chodzic po drzewie rozwiazan to na mojego nosa nie unikniesz
przepelnienia stosu, nawet dla malych rozmiarow labiryntu jesli
zrobisz to nieumiejetnie.
Mysle jednak ze ten problem da sie rozwiazac elegancko
bez jawnego uzycia rekurencji, pamietajac jedynie "sciezke"
wezlow (pokoi) rozwiazan (jako liste dwukierunkowa, albo
stos /ale nie ten procesora:)/) i gdy zastosujesz zwykly algorytm
"zachlanny" czyli sprawdzajacy wszystkie rozwiazania,
ale madrze czyli w okreslonym porzadku.
Niepedagogicznie podpowiem tylko tyle ze w tym algorytmie
idziemy do przodu (czyli wydluzamy "sciezke") jezeli dany pokoj
ma jeszcze niesprawdzone pokoje w lewo od kierunku
z ktorego weszlismy do pokoju, w przeciwnym przypadku
skracamy sciezke (wracamy do poprzedniego pokoju) itd.. itd..
az... albo znajdziesz rozwiazanie (znajdziesz balkon :)
albo wrocisz do przedpokoju i nie bedzie juz niesprawdzonych
pokoi (labirynt dla masochistow:).
Stad tez zasada ze z kazdego labiryntu mozna wyjsc idac
caly czas przy jednej scianie.
Powodzenia :)
A.K.
karpierz@intertele.pl
PS: oczywiscie jest duzo zrodel (na sieci tez) do rozwiazywania
labiryntu, ale... radze sprobuj sam. Sam sposob podejscia
do problemu nadaje sie do roznych rzeczy i naprawde warto
abys go "poczul". Sam zobaczysz jakie to proste w gruncie
rzeczy.
Technical Details
Message-ID:
<01bd1a89$bd775cc0$99baccc2@karpierz.dyn.ml.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mailReferences:
<01bd189a$8c52aaa0$LocalHost@suseu> <01bd19fa$94ae2100$91baccc2@karpierz.dyn.ml.org> <01bd1a68$168cf760$08fa74c3@suseu>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mail From: "Karpierz" <karpierz@inter.intertele.pl> Newsgroups: pl.comp.lang.c Subject: Re: rekurencja a pamiec ? Date: 6 Jan 1998 09:58:02 GMT Organization: poorly-installed news reader Lines: 52 Message-ID: <01bd1a89$bd775cc0$99baccc2@karpierz.dyn.ml.org> References: <01bd189a$8c52aaa0$LocalHost@suseu> <01bd19fa$94ae2100$91baccc2@karpierz.dyn.ml.org> <01bd1a68$168cf760$08fa74c3@suseu> NNTP-Posting-Host: ppp153.intertele.pl X-Newsreader: Microsoft Internet News 4.70.1161 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit