+ All Categories
Home > Documents > Design and Analysis of Algorithms IF184401

Design and Analysis of Algorithms IF184401

Date post: 12-Jan-2022
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
37
Design and Analysis of Algorithms IF184401 Translated & adapted from Rully Soelaiman’s works [[email protected]] Department of Informatics Faculty of Intelligent Electrical and Informatics Technology Institut Teknologi Sepuluh Nopember 1
Transcript

Design and Analysis

of AlgorithmsIF184401

Translated & adapted from Rully Soelaiman’s works

[[email protected]]

Department of Informatics

Faculty of Intelligent Electrical and Informatics Technology

Institut Teknologi Sepuluh Nopember1

1. Able to model a computational problem algorithmically

2. Able to apply an optimal algorithm’s design towards a given computational problem

3. Able to analysis an algorithm’s design which covering the correctness and complexityaspects

4. Able to implement an algorithm’s design by involving the efficient data structure by using object-oriented programming (C++)

2

1. Chapter 02. Getting Started

2. Chapter 03. Growth of Functions

3. Chapter 04. Divide-and-Conquer

4. Chapter 15. Dynamic Programming

5. Chapter 16. Greedy Algorithms

6. Chapter 22. Elementary Graph Algorithms

7. Chapter 24. Single-Source Shortest Paths

8. Chapter 25. All-Pairs Shortest Paths

3

On-Line Judge

4

Research on DAA

5

Research on DAA (continued)

6

Research on DAA (continued)

7

Scientific publication (2019)

8

SPOJ 27213 – PERIOD5

9

SPOJ 27213 – PERIOD5

10

Performance Test Result

11

SPOJ Challenge 759 - Hard Image

Recognition (1)

12

SPOJ Challenge 759 - Hard Image

Recognition (2)

13

SPOJ Challenge 759 - Hard Image

Recognition (3)

14

SPOJ Challenge 759 - Hard Image

Recognition – Publication (2020)

15

Main Reference

16

• Quiz 1 TBA

• Midterm exam TBA

• Quiz 2 TBA

• Final exam TBA

• Attendance? ?

17

• Algorithm

• Outline, the essence of a computational

procedure, step-by-step instructions

• Program – an implementation of an

algorithm in some programming language

• Data structure

• Organization of data needed to solve the

problem

Data Structures and Algorithms

18

Overall Picture

Data Structure and

Algorithm Design Goals

Implementation

Goals

Correctness

Efficiency

Robustness

Adaptability

Reusability

19

Sort

Example: Sorting

INPUTsequence of numbers

a1, a2, a3,….,anb1,b2,b3,….,bn

OUTPUTa permutation of the

sequence of numbers

2 5 4 10 7 2 4 5 7 10

Correctness

For any given input the algorithm

halts with the output:

• b1 < b2 < b3 < …. < bn

• b1, b2, b3, …., bn is a

permutation of a1, a2, a3,….,an

Running time

Depends on

• number of elements (n)

• how (partially) sorted

they are

• algorithm

20

Designing Algorithms

• Several techniques/patterns for designing

algorithms exist

• Incremental approach: builds the solution one

component at a time

• Divide-and-conquer approach: breaks original

problem into several smaller instances of the

same problem

21

E-Olymp 10281 Columns (1)

22

E-Olymp 10281 Columns (2)

23

E-Olymp 10281 Columns (3)

24

E-Olymp 10280 Journey (1)

25

E-Olymp 10280 Journey (2)

26

SPOJ Problem Set (Tutorial)

12073. Unique Numbers (1)

27

SPOJ Problem Set (Tutorial)

12073. Unique Numbers (2)

28

SPOJ Problem Set (Tutorial)

12073. Unique Numbers (3)

29

SPOJ Problem Set (Tutorial)

7667. Minimum & maximum numbers (1)

30

SPOJ Problem Set (Tutorial)

7667. Minimum & maximum numbers (2)

31

SPOJ Problem Set (Tutorial)

7667. Minimum & maximum numbers (3)

32

E-Olymp 4894.

Interesting sequence (1)

33

E-Olymp 4894.

Interesting sequence (2)

34

E-Olymp 4894.

Interesting sequence (3)

35

E-Olymp 10296 Recursive function 1

(1)

36

E-Olymp 10296 Recursive function 1

(2)

37


Recommended