Jul 29, 2018

CS32 DiscussionWeek 7

Muhao Chen

muhaochen@ucla.edu

http://yellowstone.cs.ucla.edu/~muhao/

1

mailto:muhaochen@ucla.eduhttp://yellowstone.cs.ucla.edu/~muhao/

Outline

Big-O Notation

Sorting

Tree

2

Complexity

Quantify the efficiency of a program.

The magnitude of time and space cost for an algorithm given certain size of input.Time complexity: quantifies the run time.Space complexity: quantifies the usage of the

memory (or sometimes hard disk drives, cloud disk drives, etc.).

3

4

5

Formal Definition of Big-O

Let T(n) be the function that measures the runtime of the program given n size of input

Let g(n) be another function defined on the real number field. T(n) = O(g(n)) iff M > 0 and N > 0 s.t. n>N : T(n)

M*g(n)

6

When the input size n grows above certain scale N, the runtime T(n) is of the same or less

magnitude of the function g inside O( )Upper bound

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Permutation

32

void permutation(vector& nums, int start) {if (start == nums.size() - 1) {

for(int i=0; i

33

Tree

34

35

36

37

n - 1

38

39

20+21++2h=2h+1-1

40

41

42

0

Bugs in your software are actually special features :)

43

Related Documents See more >