-
Data: 2011-06-15 06:42:48
Temat: Re: Cykl w liście jednokierunkowej
Od: bartekltg <b...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2011-06-15 08:19, Wojciech "Spook" Sura pisze:
> Hej!
>
> Kolega zaproponował zadanie: w jaki sposób odnaleźć cykl w liście
> jednokierunkowej nie niszcząc jej, zachowując stałe zużycie pamięci i w
> czasie liniowym?
Ale odnaleźć cykl oznacza wypisać wszystkie elementy cyklu,
rownoważnie znaleźć jakikolwiek element cyklu, czy
znaleźć element 'wejściowy'?
Jeśli to pierwsze, to:
Masz dwa iteratory, biegacza i wartownika.
ustalasz wartownika na pierwszym elemencie,
nastepnie w pętli k =1,2...
Niech biagacz przeiteruje 2^k elementów liczac
od wartownika. Jesli natrafił na wartownika
(petla) lub koniec listy, kończymy pętle.
Jeśli nie, ustawiamy wartownika na ostatniej
pozycji biegacza.
Jeśli nie było ślepego końca, biegniemy
ostatni raz w kolko po cyklu wypisując składowe.
Wartownika postawimy na cyklu po co najwyzej 2n ruchach
biegacza. Dodatkowe n na ostatnie przejście cyklu,
łącznie zrobimy 3*n operacji przesuniecie biegacza + test warunku.
Jak wyznaczyć 'pierwszy' element cyklu liniowo w stałej pamięci
nie mam pomysłu.
> Mam pewien pomysł, ale niestety przy liniowym zużyciu pamięci, nijak nie
> umiem zejść do stałego. Macie jakieś pomysły?
Podejrzewam, że to ten sam tylko założyłeś od razu trudniejszą
wersje problemu.
pozdrawiam
bartekltg
Następne wpisy z tego wątku
- 15.06.11 07:09 sielim
- 15.06.11 07:18 Piotr Chamera
- 15.06.11 07:56 sielim
- 15.06.11 08:19 Wojciech \"Spook\" Sura
- 15.06.11 08:42 sielim
- 15.06.11 14:05 Tomasz Sowa
- 15.06.11 14:34 Piotr Chamera
- 15.06.11 15:14 Stachu 'Dozzie' K.
- 15.06.11 15:22 bartekltg
- 15.06.11 16:24 Piotr Chamera
- 15.06.11 18:32 Sebastian Biały
- 15.06.11 20:08 Stachu 'Dozzie' K.
- 15.06.11 20:10 Stachu 'Dozzie' K.
- 15.06.11 20:36 Wojciech \"Spook\" Sura
- 16.06.11 15:19 Michoo
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO