Analysis and Design of Algorithms

Welcome my students, I hope to enjoy learning our course.

The goal of this course is how to analysis and design of algorithms such as sorting algorithms, searching algorithms, graph algorithms, pattern algorithms and numerical algorithms.

Lectures

1- Introduction to Algorithms

We will discuss the following: Algorithms, Time Complexity & Space Complexity, Algorithm vs Pseudocode, Some Algorithm Types, Programming Languages, Python, Anaconda.

Slideshare

2- Analysis of Algorithms I

We will discuss the following: Analysis of Algorithms, Time complexity, Asymptotic Notations, Big O Notation, Growth Orders, Problems.

Slideshare

3- Analysis of Algorithms II

We will discuss the following: Maximum Pairwise Product, Fibonacci, Greatest Common Divisors, Naive algorithm is too slow. The Efficient algorithm is much better. Finding the correct algorithm requires knowing something interesting about the problem.

Slideshare

4- Sorting Algorithms I

We will discuss the following: Sorting Algorithms, Bubble Sort, Selection Sort, Insertion Sort.

Slideshare

5- Sorting Algorithms II

We will discuss the following: Sorting Algorithms, Counting Sort, Radix Sort, Merge Sort and Quick Sort.

Slideshare

6- Search Algorithms

We will discuss the following: Search Algorithms, Linear Search, Binary Search, Jump Search, and Interpolation Search.

Slideshare

7- Graph Algorithms

We will discuss the following: Graph, Directed vs Undirected Graph, Acyclic vs Cyclic Graph, Backedge, Search vs Traversal, Breadth First Traversal, Depth First Traversal, Detect Cycle in a Directed Graph. .

Slideshare

8- Patterns Algorithms

We will discuss the following: Pattern searching, Naive Pattern Searching, Regular Expression.

Slideshare

Contact Me

Any Problem send me e-mail to mloey@live.com

Benha University: http://bu.edu.eg/staff/mloey