4
Lecture 9 Sorting Networks Handout Rearranging Trains B A D C Stub or lead B A D C Sorted order B A D C Stub or lead Stack or LIFO data structure in CE B A D C Stub or lead ion: Is there an ordering that cannot be sorted using a stub? Devising a sorting algorithm B A D C Sidin g Queue or FIFO B A D C Track Train cars Engine

Rearranging Trains

Embed Size (px)

DESCRIPTION

Engine. Train cars. Track. B. A. D. C. Sorted order. D. C. B. A. Stub or lead. B. A. D. C. B. A. D. C. Stub or lead. Stub or lead. C. A. B. D. C. A. B. D. Siding. Rearranging Trains. Stack or LIFO data structure in CE. - PowerPoint PPT Presentation

Citation preview

Page 1: Rearranging Trains

Lecture 9 Sorting Networks Handout

Rearranging Trains

B A D C

Stub or lead

B AD CSorted order

B A D C

Stub or lead

Stack or LIFO data structure in CE

BA DC

Stub or lead

Question: Is there an ordering that cannot be sorted using a stub?

Devising a sorting algorithm

BA DCSidingQueue or FIFO

B A D C TrackTrain cars Engine

Page 2: Rearranging Trains

Lecture 9 Sorting Networks Handout

Delivering Train Cars in a Specific Order

1

B A DC

2

3

Cars in the train below have been sorted according to their delivery points. However, it is still nontrivial to deposit car A in stub 1, car B in stub 2, and car C in siding 3. Cars can be pulled or pushed by the engine.

1

2

3

1

2

3

Is there a better initial ordering of the cars for the deliveries in this puzzle?

Page 3: Rearranging Trains

Lecture 9 Sorting Networks Handout

Train Passing PuzzleThe trains below must pass each other using a siding that can hold only one car or one engine. Show how this can be done.

B A 21

Page 4: Rearranging Trains

Lecture 9 Sorting Networks Handout

A 16-Input Sorting Network

510812

61427

41591

111330

Use 4-input sorters, follow by (4, 4)-mergers, and end with an (8, 8)-merger

Using the 0-1 principle, we can validate this network via 16 + 25 + 81 tests

0123

4567

891011

12131415

581012

26714

14915

031113

2567

8101214

0134

9111315

4-sorter tests (4, 4)-merger tests (8, 8)-merger tests