Algorithm Design and Analysis CS 214 Dominik Scheder - - PowerPoint PPT Presentation

algorithm design and analysis cs 214
SMART_READER_LITE
LIVE PREVIEW

Algorithm Design and Analysis CS 214 Dominik Scheder - - PowerPoint PPT Presentation

Algorithm Design and Analysis CS 214 Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building 3, Room 526 http://basics.sjtu.edu.cn/~dominik/teaching/ Algorithm Design and Analysis CS 214 Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building


slide-1
SLIDE 1

Algorithm Design and Analysis CS 214

Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building 3, Room 526

http://basics.sjtu.edu.cn/~dominik/teaching/

slide-2
SLIDE 2

Algorithm Design and Analysis CS 214

Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building 3, Room 526

http://basics.sjtu.edu.cn/~dominik/teaching/

slide-3
SLIDE 3

Algorithm Design and Analysis CS 214

Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building 3, Room 526

http://basics.sjtu.edu.cn/~dominik/teaching/

slide-4
SLIDE 4

Algorithm Design and Analysis CS 214

Dominik Scheder dominik@cs.sjtu.edu.cn SEIEE Building 3, Room 526

http://basics.sjtu.edu.cn/~dominik/teaching/

slide-5
SLIDE 5

Grading and Homework

slide-6
SLIDE 6

Grading and Homework

Grading: 40% homework assignment, 60 % final exam

slide-7
SLIDE 7

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework:

slide-8
SLIDE 8

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework: Handed out every two weeks

slide-9
SLIDE 9

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework: Handed out every two weeks You work on it in small groups (3-4 people)

slide-10
SLIDE 10

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework: Handed out every two weeks You work on it in small groups (3-4 people) Hand it back to me or Zhengyang a week later

slide-11
SLIDE 11

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework: Handed out every two weeks You work on it in small groups (3-4 people) Hand it back to me or Zhengyang a week later Each group presents solution at some point

slide-12
SLIDE 12

Grading and Homework

Grading: 40% homework assignment, 60 % final exam Homework: Handed out every two weeks You work on it in small groups (3-4 people) Hand it back to me or Zhengyang a week later Each group presents solution at some point Please form small groups until next week!

slide-13
SLIDE 13

Textbook

Algorithms Sanjoy Dasgupta Christos Papadimitriou Umesh Vazirani

slide-14
SLIDE 14

Which programming languages do you know? Which algorithms do you know? (What is their running time?)

slide-15
SLIDE 15

What are Algorithms?

slide-16
SLIDE 16

What are Algorithms?

Example 1: A bad algorithm

slide-17
SLIDE 17

What are Algorithms?

Example 1: A bad algorithm Example 2: A good algorithm

slide-18
SLIDE 18

An Algorithmic Example

Sorting

slide-19
SLIDE 19
slide-20
SLIDE 20

Ye Zihao Li Huichen Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-21
SLIDE 21

Ye Zihao Li Huichen Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-22
SLIDE 22

Ye Zihao Li Huichen Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-23
SLIDE 23

Li Huichen Ye Zihao Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-24
SLIDE 24

Li Huichen Ye Zihao Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-25
SLIDE 25

Li Huichen Ye Zihao Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-26
SLIDE 26

Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-27
SLIDE 27

Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-28
SLIDE 28

Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-29
SLIDE 29

Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-30
SLIDE 30

Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng Li Huichen Xie Tiancheng Ye Zihao Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-31
SLIDE 31

Li Huichen Xie Tiancheng Bai Yiwei Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-32
SLIDE 32

Li Huichen Xie Tiancheng Bai Yiwei Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-33
SLIDE 33

Li Huichen Bai Yiwei Xie Tiancheng Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-34
SLIDE 34

Li Huichen Bai Yiwei Xie Tiancheng Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-35
SLIDE 35

Bai Yiwei Li Huichen Xie Tiancheng Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-36
SLIDE 36

Bai Yiwei Li Huichen Xie Tiancheng Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-37
SLIDE 37

Bai Yiwei Li Huichen Xie Tiancheng Ye Zihao Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-38
SLIDE 38

Bai Yiwei Li Huichen Xie Tiancheng Cai Wanxin Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-39
SLIDE 39

Bai Yiwei Li Huichen Xie Tiancheng Cai Wanxin Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-40
SLIDE 40

Bai Yiwei Li Huichen Cai Wanxin Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-41
SLIDE 41

Bai Yiwei Li Huichen Cai Wanxin Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-42
SLIDE 42

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-43
SLIDE 43

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-44
SLIDE 44

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-45
SLIDE 45

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-46
SLIDE 46

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-47
SLIDE 47

Bai Yiwei Cai Wanxin Li Huichen Xie Tiancheng Ye Zihao Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng

slide-48
SLIDE 48

Physical Exercise!

slide-49
SLIDE 49

Analyzing Insertion Sort

blackboard

slide-50
SLIDE 50

Analyzing Insertion Sort

slide-51
SLIDE 51

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons.

slide-52
SLIDE 52

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class Set Size Comparisons

slide-53
SLIDE 53

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons

slide-54
SLIDE 54

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561

slide-55
SLIDE 55

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students

slide-56
SLIDE 56

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297

slide-57
SLIDE 57

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456

slide-58
SLIDE 58

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime

slide-59
SLIDE 59

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime 1 second

slide-60
SLIDE 60

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime 1 second Shanghai Residents

slide-61
SLIDE 61

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime 1 second Shanghai Residents 24 mio

slide-62
SLIDE 62

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime 1 second Shanghai Residents 24 mio 294 × 1012

slide-63
SLIDE 63

Analyzing Insertion Sort

Sorting n items can require up to n(n−1)

2

comparisons. This class 34 Set Size Comparisons 561 Jiaotong students 41297 852,700,456 Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours

slide-64
SLIDE 64

Faster computers don’t solve this problem.

slide-65
SLIDE 65

Faster computers don’t solve this problem. Better algorithms do.

slide-66
SLIDE 66

A smarter sorting algorithm

slide-67
SLIDE 67 Ye Zihao Li Huichen Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng
slide-68
SLIDE 68 Ye Zihao Li Huichen Xie Tiancheng Bai Yiwei Cai Wanxin Yu Hongzhong Xu Xiaojun Qiu Zhi Li Yunqi Zhao Xueyuan Liu Zhijian Wan Cheng Zhou Yuhao Zhu Qiuming Liu Haoming Lu Yizhou Tang Shuyang Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng
  • 1. Sort the first half
slide-69
SLIDE 69 Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
slide-70
SLIDE 70 Xue Zhendong Gao Bicheng Sun Xingyuan Yang Runzhe You Xiaotian Zhang Xuan Chen Lequn Chen Tianyao Ke Songyu Huang Yuxiang Xu Shichao Qiu Wei Huang Junxiang Xu Bowen Pu Yifei You Yurong Zhang Jiaheng
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
slide-71
SLIDE 71
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
slide-72
SLIDE 72
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.
slide-73
SLIDE 73
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.
slide-74
SLIDE 74
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.
slide-75
SLIDE 75
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei

slide-76
SLIDE 76
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei

slide-77
SLIDE 77
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei

slide-78
SLIDE 78
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin

slide-79
SLIDE 79
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin

slide-80
SLIDE 80
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin

slide-81
SLIDE 81
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin Chen Lequn

slide-82
SLIDE 82
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin Chen Lequn

slide-83
SLIDE 83
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin Chen Lequn

slide-84
SLIDE 84
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin Chen Lequn

slide-85
SLIDE 85
  • 1. Sort the first half
Bai Yiwei Cai Wanxin Li Huichen Li Yunqi Liu Haoming Liu Zhijian Lu Yizhou Qiu Zhi Tang Shuyang Wan Cheng Xie Tiancheng Xu Xiaojun Ye Zihao Yu Hongzhong Zhao Xueyuan Zhou Yuhao Zhu Qiuming
  • 2. Sort the second half
Chen Lequn Chen Tianyao Gao Bicheng Huang Junxiang Huang Yuxiang Ke Songyu Pu Yifei Qiu Wei Sun Xingyuan Xu Bowen Xu Shichao Xue Zhendong Yang Runzhe You Xiaotian You Yurong Zhang Jiaheng Zhang Xuan
  • 3. Merge the sorted arrays.

Bai Yiwei Cai Wanxin Chen Lequn

How do we sort the two halves?

slide-86
SLIDE 86

Merge sort

slide-87
SLIDE 87

Merge sort

Y, L, X, B, C, Q, Z, T

slide-88
SLIDE 88

Merge sort

Y, L, X, B, C, Q, Z, T

slide-89
SLIDE 89

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T

slide-90
SLIDE 90

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T

slide-91
SLIDE 91

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B

slide-92
SLIDE 92

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L

slide-93
SLIDE 93

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y

slide-94
SLIDE 94

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B

slide-95
SLIDE 95

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X

slide-96
SLIDE 96

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y

slide-97
SLIDE 97

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y

slide-98
SLIDE 98

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T

slide-99
SLIDE 99

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q

slide-100
SLIDE 100

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q

slide-101
SLIDE 101

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T

slide-102
SLIDE 102

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z

slide-103
SLIDE 103

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z

slide-104
SLIDE 104

Merge sort

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z B, C, L, Q, T, X, Y, Z

slide-105
SLIDE 105

Pseudocode for Mergesort

slide-106
SLIDE 106

Pseudocode for Mergesort

mergesort(array X):

  • n := |X|
  • if n = 1: return X
  • else:

– A := mergesort (X [1 . . . ⌊n/2⌋]) – B := mergesort (X [⌊n/2⌋ + 1 . . . n]) – return merge(A, B)

slide-107
SLIDE 107

Pseudocode for Mergesort

mergesort(array X):

  • n := |X|
  • if n = 1: return X
  • else:

– A := mergesort (X [1 . . . ⌊n/2⌋]) – B := mergesort (X [⌊n/2⌋ + 1 . . . n]) – return merge(A, B)

slide-108
SLIDE 108

Pseudocode for merge

slide-109
SLIDE 109

Pseudocode for merge

merge(A, B):

  • if |A| = 0 return B
  • else if |B| = 0 return A
  • else if A[1] < B[1]: return A[1] ◦ merge(A[2 . . .], B)
  • else return B[1] ◦ merge(A, B[2 . . .])
slide-110
SLIDE 110

How long does it take?

slide-111
SLIDE 111

How long does it take? How many comparisons does it take?

slide-112
SLIDE 112

How long does it take? How many comparisons does it take?

merge(A, B) requires at most |A| + |B| − 1 comparisons.

slide-113
SLIDE 113

How long does it take? How many comparisons does it take?

merge(A, B) requires at most |A| + |B| − 1 comparisons.

blackboard

slide-114
SLIDE 114

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z B, C, L, Q, T, X, Y, Z

slide-115
SLIDE 115

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z B, C, L, Q, T, X, Y, Z

4 × 1

slide-116
SLIDE 116

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z B, C, L, Q, T, X, Y, Z

4 × 1 2 × 3

slide-117
SLIDE 117

Y, L, X, B, C, Q, Z, T Y, L, X, B C, Q, Z, T Y, L X, B Y L L,Y X B B,X B, L, X, Y C, Q Z, T C Q C,Q Z T T,Z C, Q, T, Z B, C, L, Q, T, X, Y, Z

4 × 1 2 × 3 1 × 7

slide-118
SLIDE 118

If n = 2d . . .

slide-119
SLIDE 119

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

slide-120
SLIDE 120

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n 2 × 1

slide-121
SLIDE 121

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n 2 × 1

. . .

slide-122
SLIDE 122

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n 2 × 1

. . .

n 4 × 3

slide-123
SLIDE 123

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n 2 × 1

. . .

n 4 × 3 n 8 × 7

slide-124
SLIDE 124

If n = 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n 2 × 1

. . .

n 4 × 3 n 8 × 7

Blackboard

slide-125
SLIDE 125

Mergesort requires at most n⌈log(n)⌉ comparisons.

slide-126
SLIDE 126

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2
slide-127
SLIDE 127

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉

slide-128
SLIDE 128

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime

slide-129
SLIDE 129

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204

slide-130
SLIDE 130

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204 660,752 600 mio

slide-131
SLIDE 131

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204 660,752 600 mio 1 second

slide-132
SLIDE 132

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204 660,752 600 mio 1 second 15 minutes

slide-133
SLIDE 133

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204 660,752 600 mio 1 second 15 minutes fast computer bad algorithm

slide-134
SLIDE 134

This class 34 Set Size Steps 561 Jiaotong students 41297 852 mio Runtime 1 second Shanghai Residents 24 mio 294 × 1012 95 hours insertion sort:

n(n−1) 2

mergesort: n⌈log(n)⌉ Steps Runtime 204 660,752 600 mio 1 second 15 minutes fast computer bad algorithm slow computer good algorithm

slide-135
SLIDE 135

What will study this semester?

slide-136
SLIDE 136

What will study this semester?

  • 1. Which areas do will we study?
slide-137
SLIDE 137

What will study this semester?

Sorting algorithms

  • 1. Which areas do will we study?
slide-138
SLIDE 138

What will study this semester?

Sorting algorithms Algorithms for numbers, matrices;

  • 1. Which areas do will we study?
slide-139
SLIDE 139

What will study this semester?

Sorting algorithms Algorithms for numbers, matrices; “algebraic algorithms”

  • 1. Which areas do will we study?
slide-140
SLIDE 140

What will study this semester?

Sorting algorithms Algorithms for numbers, matrices; “algebraic algorithms” Graph algorithms

  • 1. Which areas do will we study?
slide-141
SLIDE 141

What will study this semester?

Sorting algorithms Algorithms for numbers, matrices; “algebraic algorithms” Graph algorithms

  • 1. Which areas do will we study?

Optimization algorithms

slide-142
SLIDE 142

What will study this semester?

slide-143
SLIDE 143

What will study this semester?

  • 2. Which algorithmic ideas will we study?
slide-144
SLIDE 144

What will study this semester?

  • 2. Which algorithmic ideas will we study?

Divide-and-conquer algorithms (like mergesort)

slide-145
SLIDE 145

What will study this semester?

  • 2. Which algorithmic ideas will we study?

Divide-and-conquer algorithms (like mergesort) Greedy algorithms (always do the next best thing)

slide-146
SLIDE 146

What will study this semester?

  • 2. Which algorithmic ideas will we study?

Divide-and-conquer algorithms (like mergesort) Greedy algorithms (always do the next best thing) Dynamic programming (recursion unrolled)

slide-147
SLIDE 147

What will study this semester?

  • 2. Which algorithmic ideas will we study?

Divide-and-conquer algorithms (like mergesort) Greedy algorithms (always do the next best thing) Dynamic programming (recursion unrolled) many more . . .

slide-148
SLIDE 148

What will study this semester?

slide-149
SLIDE 149
  • 3. Which aspects will we study?

What will study this semester?

slide-150
SLIDE 150
  • 3. Which aspects will we study?

Is our algorithm correct?

What will study this semester?

slide-151
SLIDE 151
  • 3. Which aspects will we study?

Is our algorithm correct? How fast is it?

What will study this semester?

slide-152
SLIDE 152
  • 3. Which aspects will we study?

Is our algorithm correct? How fast is it? How much memory does it use?

What will study this semester?

slide-153
SLIDE 153
  • 3. Which aspects will we study?

Is our algorithm correct? How fast is it? How much memory does it use?

Efficiency

What will study this semester?

slide-154
SLIDE 154
  • 3. Which aspects will we study?

Is our algorithm correct? How fast is it? How much memory does it use? Are there more efficient algorithms?

Efficiency

What will study this semester?

slide-155
SLIDE 155

Why should we study algorithms?

slide-156
SLIDE 156

Why should we study algorithms?

Most algorithms are already implemented in a library.

slide-157
SLIDE 157

Why should we study algorithms?

Most algorithms are already implemented in a library. If I can implement an algorithm, why must I understand the proof of (1) correctness; (2) running time?

slide-158
SLIDE 158

Why should we study algorithms?

Most algorithms are already implemented in a library. If I can implement an algorithm, why must I understand the proof of (1) correctness; (2) running time? You will always face new problems for which your library has no implemented solution!