1 / 122

1.23k likes | 1.39k Vues

The Fundamentals: Algorithms, Integers, and Matrices. CSC-2259 Discrete Structures. The Growth of Functions. Big-Oh:. is no larger order than. Big-Omega:. is no smaller order than. Big-Theta:. is of same order as. Big-Oh:. (Notation abuse: ).

Télécharger la présentation
## The Fundamentals: Algorithms, Integers, and Matrices

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

**The Fundamentals: Algorithms, Integers, and Matrices**CSC-2259 Discrete Structures Konstantin Busch - LSU**The Growth of Functions**Big-Oh: is no larger order than Big-Omega: is no smaller order than Big-Theta: is of same order as Konstantin Busch - LSU**Big-Oh:**(Notation abuse: ) There are constants (called witnesses) such that for all : Konstantin Busch - LSU**For :**Witnesses: Konstantin Busch - LSU**For :**Witnesses: Konstantin Busch - LSU**and**and are of the same order Example: and are of the same order Konstantin Busch - LSU**and**Example: Konstantin Busch - LSU**Suppose**Then for all : Impossible for Konstantin Busch - LSU**Theorem:**If then Proof: for Witnesses: End of Proof Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**For :**Witnesses: Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**constant**For : Witnesses: Konstantin Busch - LSU**Interesting functions**Higher growth Konstantin Busch - LSU**Theorem:**If , then Proof: Witnesses: End of Proof Konstantin Busch - LSU**Corollary:**If , then Theorem: If , then Konstantin Busch - LSU**Multiplication**Addition Konstantin Busch - LSU**Big-Omega:**(Notation abuse: ) There are constants (called witnesses) such that for all : Konstantin Busch - LSU**Witnesses:**Konstantin Busch - LSU**Same order**Big-Theta: (Notation abuse: ) Alternative definition: Konstantin Busch - LSU**Witnesses:**Witnesses: Konstantin Busch - LSU**Theorem:**If then Proof: We have shown: We only need to show Take and examine two cases Case 1: Case 2: Konstantin Busch - LSU**Case 1:**For and Case 2 is similar End of Proof Konstantin Busch - LSU**Complexity of Algorithms**Time complexity Number of operations performed Space complexity Size of memory used Konstantin Busch - LSU**Linear search algorithm**Linear-Search( ) { while( ) if ( ) return else return } //item found //item not found Konstantin Busch - LSU**Time complexity**Comparisons Item not found in list: Item found in position : Worst case performance: Konstantin Busch - LSU**Binary search algorithm**Binary-Search( ) { while( ) { if ( ) else } if ( ) return else return } //left endpoint of search area //right endpoint of search area //item is in right half //item is in left half //item found //item not found Konstantin Busch - LSU**Search 19**1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22 1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22 12 13 15 16 18 19 20 22 18 19 20 22 18 19 Konstantin Busch - LSU**Time complexity**Size of search list at iteration 1: Size of search list at iteration 2: Size of search list at iteration : Konstantin Busch - LSU**Size of search list at iteration :**Smallest list size: Last iteration : Konstantin Busch - LSU**Total comparisons:**Last comparison #iterations Comparisons per iteration Konstantin Busch - LSU**Bubble sort algorithm**Bubble-Sort( ) { for ( to ) { for ( to ) if ( ) swap } Konstantin Busch - LSU**First iteration**2 3 4 1 5 2 3 4 5 1 2 3 5 4 1 2 5 3 4 1 5 2 3 4 1 Second iteration Last iteration 5 2 3 4 1 5 2 3 4 1 5 2 4 3 1 5 4 2 3 1 5 4 3 2 1 Konstantin Busch - LSU**Time complexity**Comparisons in iteration 1: Comparisons in iteration 2: Comparisons in iteration : Total: Konstantin Busch - LSU**Tractable problems**Class : Problems with algorithms whose time complexity is polynomial Examples: Search, Sorting, Shortest path Konstantin Busch - LSU**Intractable problems**Class : Solution can be verified in polynomial time but no polynomial time algorithm is known Examples: Satisfiability, TSP, Vertex coloring Important computer science question Konstantin Busch - LSU**Unsolvable problems**There exist unsolvable problems which do not have any algorithm Example: Halting problem in Turing Machines Konstantin Busch - LSU**Integers and Algorithms**Base expansion of integer : Integers: Example: Konstantin Busch - LSU**Binary expansion**Digits: Konstantin Busch - LSU**Hexadecimal expansion**Digits: Konstantin Busch - LSU**Octal expansion**Digits: Konstantin Busch - LSU**Conversion between binary and hexadecimal**half byte Conversion between binary and octal Konstantin Busch - LSU**Base expansion( ) {**While ( ) { } return } Konstantin Busch - LSU**Binary expansion of**Konstantin Busch - LSU**Octal expansion of**Konstantin Busch - LSU**Binary_addition( ) {**for to { } return } //carry bit //auxilliary //j sum bit //carry bit //last sum bit Konstantin Busch - LSU**Carry bit: 1 1 1**Time complexity of binary addition: (counting bit additions) Konstantin Busch - LSU

More Related