Pre neorientovaný graf G=(V,E) bez slučiek vymyslite (greedy) algoritmus na jeho vrcholové ofarbenie (pozrite si aj Brooksovu vetu). Skúste nájsť graf, ktorý Váš algoritmus nedokáže ofarbiť minimálnym počtom farieb.
Pozrite si Kruskalov algoritmus na nájdenie najlacnejšej kostry grafu.
Napíšte algoritmus, ktorý pre dané vstupné pole n prirodzených čísel, pričom každý prvok poľa patrí do intervalu <0;k>, predspracuje vstup a po predspracovaní dokáže odpovedať na otázku, koľko prvkov poľa patrí do intervalu <a;b> pre ľubovoľné a,b také, že 0 ≤ a ≤ b ≤ k, s výpočtovou zložitosťou O(1). Zložitosť predspracovania môže byť Θ(n + k).
Nasledujúce dva znáhodnené algoritmy sa dajú použiť pre riešenie problému 3-SAT. Napíšte program, ktorý využíva tieto algoritmy pre riešenie uvedeného problému a experimentálne ich porovnajte (t.j. napr. rýchlosť s akou nájdu interpretáciu premenných, pre ktoré je daná formula pravdivá.)
Pre porovnanie a vyhodnotenie si vytvorte vlastné, dostatočne veľké, testovacie vstupy.
Úloha 35.1-3 zo s.1111 z knihy Cormen a kol.: Introduction to algorithms
Professor Bundchen navrhuje nasledovnú heuristiku na riešenie problému vrcholového pokrytia. Opakovane vyberajte vrchol s najväčším stupňom a odstráňte všetky hrany s ktorými inciduje. Nájdite príklad, na ktorom ukážete, že profesorova heuristika nemá aproximačný pomer 2.
(Pomôcka: Skúste bipartitný graf s vrcholmi rovnakých stupňov vľavo a vrcholmi rôznych stupňov vpravo.)
Cvičenie 9:
Naprogramujte dynamické pole s operáciou vkladania tak, že pri požiadavke na zväčšenie poľa sa alokuje dvojnásobná veľkosť pôvodného poľa.
Urobte amortizovanú analýzu operácií vkladania v takomto poli.
Ak stihnete, naprogramujte aj operáciu vymazávania.
Cvičenie 10:
Nasledujúce dva znáhodnené algoritmy sa dajú použiť pre riešenie problému 3-SAT. Napíšte program, ktorý využíva tieto algoritmy pre riešenie uvedeného problému a experimentálne ich porovnajte (t.j. napr. rýchlosť s akou nájdu interpretáciu premenných, pre ktoré je daná formula pravdivá.)
Tento web používa súbory cookies. Prehliadaním webu vyjadrujete súhlas s ich používaním.
Viac informácií o tom, ktoré cookies používame, alebo ako ich môžete vypnúť nájdete tu: Využitie cookies. Akceptovať
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.