mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina dubina mreže za sortiranje:... log2 (log) 4...

102
1 Mreže za sortiranje

Upload: others

Post on 30-Aug-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

1

Mreže za sortiranje

Page 2: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

2

10

94

3

21

8

7

109

43

2

1

87

Sortiranje

Page 3: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

3

Mreža za sortiranje

(Mreža za bitonik sortiranje)

Page 4: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

4

Mreža za sortiranje

(Mreža za bitonik sortiranje)

Page 5: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

5

Komparator

x

y

max(x,y)

min(x,y)

Page 6: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

6

Komparator

max

min

1

9

9

1

Page 7: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

7

Komparator

max

min

100

4

100

4

Page 8: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

8

Page 9: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

9

Nivoi

1 2 3

Dubina = 3

Širina = 4

Page 10: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

10

18

2

5

Page 11: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

11

1

8

25

Nivo 1

Page 12: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

12

1

8

2

5

Nivo 2

Page 13: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

13

1

8

25

Nivo 3

Page 14: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

14

1

8

25

18

2

5

Ulaz Izlaz

Page 15: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

15

10

94

3

21

87

109

4321

87

Ulaz Izlaz

Page 16: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

16

10

94

3

21

87

109

4321

87

1 2 3 4 5 6nivoi

Page 17: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

17

Sort(n)

Sort(n/2)

Sort(n/2)

Merge(n)Ulaz Izlaz

)(log2 nOdubina

Rekurzivna konstrukcija Mreža za bitonik sortiranje

Page 18: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

18

Merge(n)

Merge(n/2)

Merge(n/2)

)(lognOdubina

Rekurzivna konstrukcija Mreže za spajanje

Page 19: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

19

Osnova za indukciju

Sort(2)

Merge(2)

Page 20: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

20

Širina

Dubina mreže za sortiranje:

)(log2log...4

log2

loglog 2 nOnnn

n

)(log2 nO

Širinaspajača n

Ukupnadubina

2n

4n

2

Page 21: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

21

Mreža za brojanje

Page 22: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

22

Problem brojanja

0

Deljena promenljiva

Page 23: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

23

0

Token = Zahtev za inkrement

Deljena promenljiva

Page 24: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

24

1

Zahtev za inkrement

Deljena promenljiva

0

Page 25: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

25

1

Deljena promenljiva

Page 26: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

26

1

Zahtev za inkrement

Deljena promenljiva

Page 27: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

27

2

Deljena promenljiva

1

Zahtev za inkrement

Page 28: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

28

2

Deljena promenljiva

Page 29: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

29

2

Zahtev za inkrement

Deljena promenljiva

Page 30: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

30

3

Zahtev za inkrement

Deljena promenljiva

2

Page 31: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

31

6

Sekvencijalno usko-grlo

Deljena promenljiva

Zahtevi moraju biti serializovani

01 2 3

4

5

Page 32: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

32

Mreža za brojanje

Ulazi Izlazi

Page 33: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

33

Mreža za brojanje

Page 34: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

34

Balanser

Ulazi Izlazi

Token

Page 35: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

35

Balanser

Ulazi Izlazi

Page 36: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

36

Balanser

Page 37: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

37

Balanser

Page 38: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

38

Balanser

Page 39: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

39

Balanser

Page 40: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

40

Balanser

Page 41: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

41

Balanser

Page 42: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

42

Balanser

Svi tokeni zajedno

Page 43: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

43

Balanser

Osobina koraka

Page 44: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

44

Balanser

Osobina koraka

Sledeći primer

Page 45: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

45

Balanser

Osobina koraka

Sledeći primer

Page 46: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

46

Balanser

Osobina koraka

Sledeći primer

Page 47: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

47

Mreža za brojanje

(Mreža za bitonik brojanje)

Page 48: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

48

Mreža za brojanje

Page 49: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

49

Mreža za brojanje

Page 50: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

50

Mreža za brojanje

Page 51: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

51

Mreža za brojanje

Page 52: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

52

Mreža za brojanje

Page 53: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

53

Mreža za brojanje

Page 54: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

54

Mreža za brojanje

Page 55: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

55

Mreža za brojanje

Page 56: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

56

Mreža za brojanje

Page 57: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

57

Mreža za brojanje

Page 58: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

58

Mreža za brojanje

Page 59: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

59

Mreža za brojanje

Page 60: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

60

Mreža za brojanje

Page 61: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

61

Mreža za brojanje

Page 62: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

62

Mreža za brojanje

Page 63: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

63

Mreža za brojanje

Page 64: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

64

Mreža za brojanje

Page 65: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

65

Svi tokeni

Mreža za brojanje

Page 66: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

66

Svi tokeni Osobina koraka

Mreža za brojanje

Page 67: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

67

Sledeći primerOsobina koraka

Mreža za brojanje

Page 68: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

68

Mreža za brojanje

Osobina korakaSledeći primer

Page 69: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

69

Mreža za brojanje

Osobina korakaSledeći primer

Page 70: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

70

Osobina koraka

Mreža za brojanje

Sledeći primer

Page 71: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

71

ParalelizamMnogi zahtevi za inkrement se obrađuju simultano

Mreža za brojanje

Page 72: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

72

Brojanje

0

1

2

3Token = Zahtev za inkrement

IzlazDeljene promenljive

Page 73: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

73

Brojanje

0

1

2

3

IzlazDeljena promenljive

Page 74: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

74

Brojanje

4

1

2

3

0

Povratna vrednost

Vrednost deljene promenljive se poveća za 4(širina izlaza)

Page 75: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

75

Brojanje

4

1

2

3

0

Zahtev za inkrement

Page 76: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

76

Brojanje

4

1

2

3

0

Page 77: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

77

Brojanje

4

5

2

3

0

1

Povratna vrednost

Page 78: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

78

Brojanje

4

5

2

3

0

1

Zahtev za inkrement

Page 79: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

79

Brojanje

4

5

6

3

0

1

2

Povratna vrednost

Page 80: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

80

Brojanje

4

5

6

3

0

1

2

Page 81: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

81

Brojanje

4

5

6

7

0

1

2

3

Povratna vrednost

Page 82: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

82

Brojanje

4

5

6

7

0

1

2

3

Page 83: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

83

Brojanje

8

5

6

7

0

1

2

3

4

Povratna vrednost

Page 84: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

84

Brojanje

8

5

6

7

0

1

2

3

4

Page 85: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

85

Brojanje

8

9

6

7

0

1

2

3

4

5

Povratna vrednost

Page 86: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

86

Brojanje

8

9

6

7

0

1

2

3

4

5

Svi tokeni

Page 87: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

87

Mreža za bitonik brojanje

Izomorfna sa Mrežom za bitonik sortiranje

Page 88: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

88

Count(n)

Count(n/2)

Count(n/2)

Merge(n)Ulaz Izlaz

)(log2 nOdubina

X

Y

Z

Page 89: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

89

Merge(n)

Merge1(n/2)

Merge2(n/2)

)(lognOdubina

X

Y

Z

Osobinakoraka

Osobinakoraka

Osobinakoraka

Page 90: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

90

X

0x1x2x3x4x5x6x7x

oddX

0x1x2x3x4x5x6x7x

evenX

0x1x2x3x4x5x6x7x

Parnepodsekvence

Neparnepodsekvence

Page 91: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

91

Merge(n)

Merge1(n/2)

Merge2(n/2)

X

Y

Z

evenX

oddY

evenY

oddX

A

B

Page 92: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

92

Teorema:

Dokaz:Dokaz je pomoću indukcije na n

Za spajač je balanser itvrdnja je trivijalno zadovoljena

2nOsnova indukcije:

merger(n) proizvodiizlaz Z sa osobinom korakaako oba ulaza X i Y imaju osobnu koraka

Page 93: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

93

Indukciona hipoteza:

Merge(n/2)

Ako koračnasekvencaAko koračnasekvenca

Onda kor.sekvenca

Predpost. da svaki spajačveličine n/2 i manjeispravno obavlja spajanje

Page 94: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

94

Merge(n)

Indukcioni korak:

Ako korak

Ako korak Onda korak

Želimo da pokažemo da je:

X

YZ

Predpost. da i imaju osobinu koraka.Onda ćemo pokazati da ima osobinu koraka

X YZ

Page 95: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

95

0x

2x

4x

6x

1x

3x

5x

7x

evenX

oddX

0x1x2x3x4x5x6x7x

X

Ako imaosobinu korakaonda iimaju osobinu koraka

XevenX oddX

Tokeni

Page 96: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

96

Merge1(n/2)

evenX

oddYA

Merge2(n/2)evenY

oddXB

korak

korak

korak

korak

korak

korak

Zato, iz indukcione hipoteze:

Izlazna sekvenca

Izlazna sekvenca

Page 97: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

97

Prvo, pokažimo: 1||||1 BA

Gde označava ukupan brojtokena u sekevnci

||AA

Page 98: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

98

Imamo: |||||| oddeven YXA

|||||| oddeven XYB

Spajač 1

Spajač 2

Page 99: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

99

|||| oddeven XX 1|||| oddeven XXili0x1x2x3x4x5x6x7x

0x1x2x3x4x5x6x7x

Pošto ima osobinu koraka:X

Zato je: 1||||0 oddeven XX

Slično: 1||||0 oddeven YY

Page 100: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

100

|)||(||)||(||||| evenoddoddeven YYXXBA

1||||0 oddeven XX

1||||0 oddeven YY

1||||1 BA

Page 101: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

101

Sada, pokažimo da ima osobinu korakaZ

1||||1 BA

A Bc

i i

ccc

1c1c1c1c

ccccc

1c1c1c

Postoji najviše jedna žica gde se dve sekvence razlikuju

#tokena

i

#tokenakorak korak

Page 102: Mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina Dubina mreže za sortiranje:... log2 (log) 4 log 2 log log O 2 n n n n n O(log2 n) Širina spajača n Ukupna dubina 2 n 4 n 2

102

A

B

c

i

i

ccc1c1c1c1c

ccccc

1c1c1c

cccc

c1c

1c1c

1c1c

cccc

c1c

1c1c

1c1c

Z

Osobinakoraka

Mer

ge1(

n/2)

Mer

ge(n

/2)

Merge(n)