AuD

3. Übung

21.05.2019

Unser Plan für heute:

  • Zur Vorlesung: Theta-Notation
  • Zur Vorlesung: Hash-Funktionen
  • No Comment!
  • Teileistung 2

Theta-Notation

https://www.ocf.berkeley.edu/~shidi/cs61a/w/index.php?title=File:Asymptotic_notation.png&filetimestamp=20140616043508&

tight

bound

upper

bound

lower

bound

Quelle: https://adexchanger.com/comic-strip/comic-hashing/

#HashingIsFun

h(K)=(1*K) mod 5

h(0)=0  h(1)=1  h(2)=2  h(3)=3  h(4)=4

h(5)=0  h(6)=1  h(7)=2  h(8)=3  h(9)=4

...

0

1

2

3

B_0

B_1

B_2

B_3

4

B_4

0

1

10

11

B_0

B_1

B_10

B_11

h(K)=(1*K) mod 100

h(0)=0  h(1) = 1  h(10)=10  h(11)=11

h(100)=0 h(101)=1  h(110)=10  h(111)=11

  h(1000)=0  h(1001)=1 h(1010)=10 h(1011)=11

...

0

1

10

11

B_0

B_1

B_10

B_11

h(K)=(1*K) mod 101

h(0)=0  h(1)=1  h(10)=10  h(11)=11 h(100)=100

h(101)=0  h(110)=1  h(111)=10 h(1000)=11 h(1001)=100

h(1010)= 0 h(1011)=1 h(1100)=10 h(1101)=11 h(1110)=100

...

100

B_100

No Comment

https://www.xkcd.com/1421/

Wann und wie sollte man kommentieren?

 

Disclaimer:

Es gibt nicht EINEN richtigen Weg,

seinen Code zu kommentieren, sondern viele verschiedene Schulen und Ansichten dazu.

 

Grund A (deprecated!): Dampf und Frust ablassen

Grund B (deprecated!): Redundant das noch einmal in natürlicher Sprache ausdrücken, was der Code allein auch schon ausdrückt

Grund C (recommended!): Die Intention hinter Implementierungsentscheidungen klar machen

Teilleistung 2

Zirkuläre Liste

Made with Slides.com