• Keine Ergebnisse gefunden

Algorithmen und Komplexität Challenge-Aufgabe 1

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmen und Komplexität Challenge-Aufgabe 1"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

ETH Zürich

Institut für Theoretische Informatik

Prof. Dr. Angelika Steger, Dr. Johannes Lengler Übungsleitung: Florian Meier

HS 2019

Algorithmen und Komplexität Challenge-Aufgabe 1

Die Bearbeitung der Challenge-Aufgaben ist optional. Die erste korrekte Abgabe wird als Ge- winner gekürt und er oder sie erhält ein spannendes Buch nach Wahl (siehe Liste unten). Die nächsten 5 korrekten Lösungen werden mit einer feinen Tafel Schokolade belohnt. Lösungen oder Teillösungen können Sie direkt bei Robert Meier per E-Mail (romeier@student.ethz.ch) oder auch persönlich abgeben. Es ist Ehrensache, dass man eine Challenge-Aufgaben nur dann abgibt (und damit einen Buchpreis gewinnen kann), wenn man sie ohne fremde Hilfe gelöst hat.

Der Gewinner darf aus folgender Buchliste wählen:

• Peter Winkler: Mathematical Puzzles - A Connoisseur’s Collection

• Béla Bollobás: The Art of Mathematics - Coffee Time in Memphis

• Simon Singh: Fermats letzter Satz

• Martin Aigner und Günter Ziegler: Das Buch der Beweise

• Angelika Steger: Diskrete Strukturen 1: Kombinatorik, Graphentheorie, Algebra

? ? ?

Challenge-Aufgabe

Gegeben ein Arraya[1 . . .n], wobei a[i] ∈ {1, . . . ,n−1}. Entwerfe Sie einen Algorithmus, der in Laufzeit O(n) zwei Indizes i 6= j findet mit a[i] = a[j]. Aber Achtung! Leider leidet euer Computer unter Gedächtnisstörungen und deshalb besitzt er nur 10 Speicherzellen, in denen eine ganze Zahl zwischen 0 undnabgespeichert werden kann. Beweisen Sie auch die Korrektheit des Algorithmus.

Bemerkung 1:Insbesondere kann der Computer das Arrayaweder bearbeiten noch abspeichern.

Er kann aber beliebig oft auf die Elementea[i]zugreifen, und diese in einer der 10 Speicherzellen abspeichern.

Bemerkung 2: Beide der folgende zwei Modifikationen vereinfachen das Problem deutlich und sind jeweils gute Übungsaufgaben! 1) Der Speicherplatz ist unbeschränkt. 2) Die Laufzeit darf O(nlog(n))betragen.

1

Referenzen

ÄHNLICHE DOKUMENTE

Wenn f und h sehr komplizierte Funktionen sind, für die ein direkter Beweis schwierig ist, kann man einen Zwischenschritt verwenden: Man formuliert eine Funktion g, sodass f n 2

Studentenstam mdaten anlegen. Studentenstam

b) Brechen Sie seinen Umfang. c) Berechnen Sie alle Innenwinkel. d) Berechnen Sie den Flächeninhalt des Dreiecks. e) Berechnen Sie die Seitenmittelpunkte. g) Berechnen Sie

Er spielt so lange, bis eine der folgenden zwei M¨ oglichkeiten eintritt: Entweder er verliert das ganze Geld, oder er gewinnt genug, um sich den Jaguar leisten zu k¨ onnen.. Eine

Juli im Internet f¨ ur die Klausur an: http://www.math.uni-bonn.de/people/ugoertz/klausur.html Wenn Sie keinen Internetzugang haben, bitten Sie bitte einen Kommi- litonen oder Ihren

Das Programm soll anschließend mit einer for-Schleife in diesem Feld nach dem Wert 0.125 suchen und den Index mit printf ausgeben.. 2 Aufgabe 2: Primzahlen mit dem Sieb

Im Folgenden (39) die ersten 11 Folgenglieder a n in allgemeiner Form. Die Spalten sind je mit einem zusätzlichen Versatz nach unten verschoben. Die Zeilensummen

Wir wählen ein (unregelmäßiges) n-Eck A 0 …A n−1 und einen beliebigen Punkt M... Das beweist die