Matakuliah ini membahas mengenai cara mendesain dan menganalisis
algoritma. Analisis dilihat dari sisi efisiensi memori dan kompleksitas waktu.
Perhitungan kompleksitas waktu terbagi menjadi tiga yaitu Big Oh, Big Theta,
dab Big Omega. Algoritma yang dibahas dan dianalisa meliputi algoritma
pengurutan (insertion sort, selection sort, buble sort, shell sort, merge sort,
quick sort) dan algoritma pencarian (sequential search, interpolation search,
binary search, Depth First Search, dan Breadth First Search). Dibahas pula
beberapa kasus yang membutuhkan penyelesaian algoritma yang termasuk dalam Non
Polynomial Completeness (NPC) yaitu Minimum Spanning Tree, Travelling Salesman
Problem, Sudoku dan Penjadwalan. Algoritma yang termasuk dalam NPC diantaranya
adalah Greedy Algorithm, Dynamic Algorithm, Genetic Algorithm, dsb
- Teacher: AMIR MURTAKO M.Kom