-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.
pl!not-for-mail
From: Tomasz Kiełpiński <F...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Zamknięta pętla
Date: Thu, 29 Jan 2009 11:42:58 +0100
Organization: Netia S.A.
Lines: 66
Message-ID: <gls1mj$m17$1@mx1.internetia.pl>
References: <gl7hpe$iju$1@mx1.internetia.pl> <glea5a$rai$1@news.onet.pl>
NNTP-Posting-Host: 77-252-114-235.ip.netia.com.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1233226260 22567 77.252.114.235 (29 Jan 2009 10:51:00 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Thu, 29 Jan 2009 10:51:00 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-Tech-Contact: u...@i...pl
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Priority: 3
X-Server-Info: http://www.internetia.pl/news/
X-MSMail-Priority: Normal
Xref: news-archive.icm.edu.pl pl.comp.programming:180834
[ ukryj nagłówki ]'Twas brillig when bartekLTG wrote:
[...]
> Punkty siatki sa weirzcholkami grafu, oznaczone na 'tak'
> kreski są krawedziemi grafu.
> Zalozmy, ze dorysowujesz krawedz miedzy wierzcholkami
> a i b ( (n,m) --- [(n+1,m) lub (n,m+1)] )
> Kiedy zamykami petle? Wtedy, gdy _przed_ dodaniem
> naszej krawedzi istnieje polaczenie miedzy a i b.
> Wystarczy wiec, ze sprawdzisz, czy istnieje polaczenie
> miedzy a i b. Jest to dosc czesto spotykane zagadnienie;)
> Algorytm nazywa sie 'przeszukiwanie drzewa w szerz'
> (Breadth-first search, w skrócie BFS) jest dobrze
> opisany w ksiezkach i sieci. Dlaczego 'w szerz' a nie
> 'w glab'? ze wzgledu na pesymistyczna ilosc operacji.
> Jesli najkrotsza sciazka ma dlugosc L, to odwiedzisz
> nie wiecej niz max(4L^2,M) a M to liczba wierzcholkow
> do ktorych mozesz dojsc;)
> Algorytm zybszy i prostrzy w implementacji niz proponowana
> obok Dijkstra, potrzebujesz jedynie kolejki fifo, czyli
> zwyklej listy.
> Bieresz element z kolejki i wrzucasz do kolejki
> wszyskich sasiadow (wierzcholki, do ktorych masz bezposrednie
> polaczenie krawedzią 'tak'), przy okazji sprawdzajac,
> czy to nie jest nasz cel i czy nie byl 'odhaczony' (tych
> nie wrzucasz). Wrzucane wierzcholki zaznaczamy jako 'odhaczone'
> W pierwszym kroku wrzucasz do kolejki wierzcholek startowy.
> BTW, Mozna to jeszcze zbic (do 2L^/2) idac na zmiane jedno
> pietro z wierzcholka 'a' - jedno pietro z wierzcholka 'b'
> i czekac na spotkanie, ale algorytm robi sie ciut bardziej
> skomplikowany.
> pzodrawiam
> bartekltg
Bartku, Maćku,
Dzięki za cenne uwagi. Poczytałem o BFS (a przy okazji innych algorytmach
związanych z grafami) i przemyślałem wasze propozycje. W efekcie końcowym
zdecydowałem się na uproszczone (ze względu na zasady łamigłówki)
rozwiązanie. Poniżej pseudo algorytm:
1.Ustaw koordynaty wierzchołka A jako początkowe, wierzchołka B jako
końcowe. Wyklucz odcinek AB
2.PETLA:
- sprawdź wszystkie narysowane odcinki z początkowego wierzchołka.
- wybierz pierwszy niewykluczony
- jeśli nie ma niewykluczonego odcinka:
- jeśli koordynaty bieżącego wierzchołka i wierzchołka B są zgodne to
PETLA ZAMKNIĘTA,
jeśli nie to PETLA OTWARTA. Wyjdź z funkcji.
- w przeciwnym razie:
- przejdź do nowego wierzchołka
- wyklucz pokonany właśnie odcinek
- ustaw nowe koordynaty początkowe
- wróć na początek pętli
Pozdrawiam,
Kiełpiś
--
Był czas mrutszławy, ślibkie skrątwy Tomasz Kiełpiński
Na wałzach wiercząc świrypły, a.k.a. "Kiełpiś"
A mizgłe do cna borogłątwy Odpowiadając prywatnie,
I zdomne świszczury zgrzypły. usuń: FALSZYWY z adresu
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r