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.

Download Slideshare

2- Analysis of Algorithms I

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

Download 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.

Download Slideshare

4- Sorting Algorithms I

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

Download Slideshare

5- Sorting Algorithms II

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

Download Slideshare

6- Search Algorithms

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

Download 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. .

Download Slideshare

8- Patterns Algorithms

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

Download Slideshare

Contact Me

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

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