Download presentation
Presentation is loading. Please wait.
Published byRaymond Rose Modified over 9 years ago
1
Transform & Conquer Replacing One Problem With Another Saadiq Moolla
2
Introduction Two Stage Solution −Transform into Another Problem −Solve New Problem Three Variations −Instance Simplification −Representation Change −Problem Reduction Initial Problem New Representation Solution
3
Instance Simplification Reducing the Problem to a Simpler One Techniques: −Presorting −Gaussian Elimination −Search Trees
4
Presorting Example: Given a random list of numbers, determine if there are any duplicates. Brute Force: Compare Every Pair Transform and Conquer: −Sort the List −Compare A [i] with A [i + 1] i A
5
Presorting (Analysis) Old Idea, Many Different Ways Efficiency Dependant on Algorithm Compare Benefits vs Time Required Useful if Operation Repeated
6
Gaussian Elimination a 11 x + a 12 x + … + a 1n x = b 1 a 21 x + a 22 x + … + a 2n x = b 2 … a n1 x + a n2 x + … + a nn x = b 1 a’ 11 x + a’ 12 x + … + a’ 1n x = b’ 1 a’ 22 x + … + a’ 2n x = b 2 … a’ nn x = b 1
7
Binary Search Trees 8 415 791 5
8
Binary Search Trees (Analysis) Time Efficiency Slow Methods to Balance Special Trees: −AVL Trees −B-trees
9
Heaps Type of Binary Tree Requirements: −Essentially Complete −Parental Dominance 9 57 421
10
Properties of Heaps Height is log 2 n Root is largest element Node + Descendents = Heap Stored in Array: −Children of A [i] are A [2i] and A [2i + 1]
11
Heap Insertion 9 57 421 8 9 5 7 421 8
12
Heaps (Analysis) Sorting Priority Queue O (n log n)
13
Representation Change Change One Problem Into Another Steps: −Identify −Transform −Solve Mathematical Modeling
14
Problem Reduction Reduce to a Known Problem Use Known Algorithms: −Dijkstra’s algorithm −Horner’s Rule −Karp – Rabin algorithm −etc.
15
Horner’s Rule Used to Evaluate Polynomials 5x^2 – 3x + 8 » (5x + 3)x + 8 7x^3 + x^2 – 9x – 2 » ((7x + 1)x – 9)x – 2 Linear
16
Horner’s Algorithm algorithm Horner (x, P []) // Evaluates a polynomial with coefficients P [] at x for i ← n – 1 downto 0 do v ← x * v + P [i] return v
17
Fast Exponentiation Evaluate x^n 2^10 = 2^1010 2 = 2^8 * 2^2
18
Fast Exponentiation Algorithm Algorithm FastExp (x, n) // Returns x^n term ← x product ← 1 while n > 0 do if n mod 2 = 1 then product ← product * term term ← term * term n ← └ n/2 ┘ return product
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.