Algorithms
An Application oriented presentation
-M Ranjith Kumar B.E
7/22/2015 1
So what is this presentation
about?
• Yeah algorithms !!! Why should you care?
• Applications of various data structures
• Quick analysis of run time of algorithms
• Few applications of graph theory and its problems
7/22/2015 2
Why Study algorithms?
7/22/2015 3
Should I care less?
• I am an electronic engineer, why should I care?
• Do I need knowledge on Data structures?
• Which programming language should I learn?
• Where do I practise solving problems?
7/22/2015 4
Competitive Programming
• Topcoder.com
• Projecteuler.net
• Hackerrank.com
• Hackerearth.com
• Codechef.com
• Techgig.com
7/22/2015 5
Jobs…
7/22/2015 6
Data structures
• Array
• Stack
• Queue/Vector/Pipe
• Priority Queue
• List-Single Linked List/Doubly Linked List/Circular
Linked List/Bags
• Symbol Table/(Multi/Hash)Map/Hash-Table
• Trees-Heap/Binary Tree/Red-Black Trees/2-3
Trees/B-Trees
• Graph-Digraph/weighted graphs/MST
7/22/2015 7
Stack, Queue
7/22/2015 8
Applications of a stack
7/22/2015 9
Arithmetic Expression Evaluation
7/22/2015 10
Priority Queue Applications
7/22/2015 11
Symbol Table Applications
7/22/2015 12
Exception filter(keyed Linked List)
applications
7/22/2015 13
Do you see any natural data structure?
7/22/2015 14
Applications of Trees
• Huffman Coding- .jpeg, .mp3
• File System Structure –HFS, HFS+, ext3
• HTML Processing in browsers
• Treap – Randomized data structure in wireless
Communication
• T-tree – Databases
• Syntax Tree – Compilers
• GCM Tree – Cryptogrphy to generate pseudo random
numbers
• Heaps – Artificial Intelligence
7/22/2015 15
Sorting Applications
7/22/2015 16
Cast of Characters
7/22/2015 17
Running Time
7/22/2015 18
Some Algorithmic Success
7/22/2015 19
Experimental measurements
7/22/2015 20
The Challenge
7/22/2015 21
Example 3-sum
7/22/2015 22
Empirical and Data Analysis
7/22/2015 23
An N2 log N Algorithm for 3 sum
7/22/2015 24
Comparing Programs
7/22/2015 25
Example : 1 Sum
7/22/2015 26
Simplifying Calculations
7/22/2015 27
So final touch..
7/22/2015 28
Making changes..
7/22/2015 29
Common Order of Growth
7/22/2015 30
Good Alg. are better than Super
Computers with poor Alg.
7/22/2015 31
Graphs
7/22/2015 32
Graph Applications
7/22/2015 33
Facebook Friends Location graph
7/22/2015 34
Maze Exploration-Search
7/22/2015 35
Digraph Applications
7/22/2015 36
Road Network-Digraph
7/22/2015 37
Implication Digraph
7/22/2015 38
Combinational Circuit
7/22/2015 39
Shortest Path Applications
7/22/2015 40
Car Navigation-Shortest paths
7/22/2015 41
Software Modules-Connectivity
7/22/2015 42
MST Applications
7/22/2015 43
Medical Image Processing
7/22/2015 44
Thank You
7/22/2015 45

Algorithms