Datenstrukturen und Algorithmen

8 Yen sollen mit Münzen zu 1 Yen, 4 Yen und 6 Yen bezahlt werden. Welche Aussage über die Zahl der Münzen, die ein Greedy-Algorithmus wählt (der zuerst so viele der größten Münze wie möglich verwendet), im Verhältnis zur kleinstmöglichen Münzzahl ist richtig?

  1. AAuch der Greedy-Algorithmus erreicht das Minimum von 2 Münzen
  2. BDer Greedy-Algorithmus verwendet 3 Münzen und verfehlt das Minimum von 2
  3. CDer Greedy-Algorithmus verwendet 3 Münzen, und das ist das Minimum
Antwort und Erläuterung anzeigen

Antwort: B. Der Greedy-Algorithmus verwendet 3 Münzen und verfehlt das Minimum von 2

Der Greedy-Algorithmus nimmt zuerst eine 6-Yen-Münze und zahlt die restlichen 2 Yen mit zwei 1-Yen-Münzen, insgesamt also 3 Münzen. Mit zwei 4-Yen-Münzen geht es aber mit nur 2. Weil ein Greedy-Algorithmus nur die jeweils im Moment beste Wahl aneinanderreiht, ist er bei manchen Münzsystemen nicht optimal. Die dynamische Programmierung, die eine Tabelle der kleinsten Münzzahl für jeden Betrag von 0 bis 8 Yen in aufsteigender Reihenfolge füllt, findet immer das Minimum. Bei Münzsystemen wie dem japanischen mit 1, 5, 10, 50, 100 und 500 Yen liefert der Greedy-Algorithmus stets das Minimum.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Datenstrukturen und Algorithmen

  1. Ein Rucksack mit der Kapazität 8 wird mit Gegenständen aus vier Gegenständen mit (Gewicht, Wert) (2, 3), (3, 4), (4, 5) und (5, 6) gefüllt. Jeden Gegenstand gibt es nur einmal, und Gegenstände lassen sich nicht teilen. Wie groß ist der höchste Gesamtwert bei einem Gesamtgewicht von höchstens 8?
  2. Welche Aussage beschreibt ein Merkmal des Boyer-Moore-Algorithmus zum Suchen eines Musters in einer Zeichenkette richtig?
  3. Ein dynamisches Array legt, wenn ein Element hinzugefügt wird, während es voll ist, einen neuen Bereich mit doppelter Kapazität an und kopiert alle Elemente dorthin. Wie viele Elementkopien entstehen insgesamt, wenn einem leeren Array mit der Kapazität 1 nacheinander 1000 Elemente hinzugefügt werden?
  4. Warum ist bei einer Hashtabelle mit vielen Elementen und einem Belegungsfaktor von etwa 0,5 die offene Adressierung mit linearem Sondieren am ehesten schneller als die Verkettung (Verbinden der Elemente durch verkettete Listen)?
  5. Für das Sortieren auf paralleler Hardware wie GPUs werden manchmal Sortierverfahren mit einer festen Folge von Vergleichs- und Tauschschritten (Sortiernetzwerke) wie Bitonic Sort verwendet. Warum?