1 1 1 intro to algos tủ tài liệu training pdf

12 54 1
1 1 1 intro to algos tủ tài liệu training pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Design and Analysis of Algorithms I Introduction on Why Study Algorithms? Why Study Algorithms? • important for all other branches of computer science Nextcore AI Gopal Shangari WHY STUDY ALGORITHMS? • important for all other branches of computer science • plays a key role in modern technological innovation Nextcore AI Gopal Shangari WHY STUDY ALGORITHMS? • important for all other branches of computer science • plays a key role in modern technological innova t i on – “Everyone knows Moore’s Law – a prediction made in 1965 by Intel co-‐ founder Gordon Moore that the density of transistors in integrated circuits would cont i nue to double every to years….in many areas, performance gains due to improvements in algorithms have vastly exceeded even the drama t i c performance gains due to increased processor speed.” • Excerpt from Report to the President and Congress: Designing a Digital Future, December 2010 (page 71) Nextcore AI Gopal Shangari WHY STUDY ALGORITHMS? • important for all other branches of computer science • plays a key role in modern technological innova t i on • provides novel “lens” on processes outside of computer science and technology – quantum mechanics, economic markets, evolution Nextcore AI Gopal Shangari WHY STUDY ALGORITHMS? • important for all other branches of computer science • plays a key role in modern technological innova t i on • provides novel “lens” on processes outside of computer science and technology • challenging Nextcore AI Gopal Shangari WHY STUDY ALGORITHMS? • important for all other branches of computer science • plays a key role in modern technological innova t i on • provides novel “lens” on processes outside of computer science and technology • challenging • fun Nextcore AI Gopal Shangari INTEGER MUTLIPLICATION Input : n digit numbers x and y Output : product x*y “Primitive Opera t i on” -‐ add or multiply single digit numbers Nextcore AI Gopal Shangari THE GRADE-‐SCHOOL ALGORITHM Roughly n opera t i ons per row up to a constant # of opera t i ons overall ~ constant* Nextcore AI Gopal Shangari THE ALGORITHM DESIGNER’S MANTRA “Perhaps the most important principle for the good algorithm designer is to refuse to be content.” -‐Ullman, The Design and Analysis of Computer Algorithms, 1974 CAN WE DO BETTER ? [ than the “obvious” method] Nextcore AI Gopal Shangari Recursive algorithm Write and Where a,b,c,d are n/2-‐ digit numbers [example: a=56, b=78, c=12, d=34] Then Idea : recursively compute ac, ad, bc, bd, then compute (* in the obvious way Nextcore AI Gopal Shangari Karatsuba Multiplication Recursively compute ac Recursively compute bd Recursively compute (a+b)(c+d) = ac+bd+ad+bc Gauss’ Trick : (3) – (1) – (2) = ad + bc Upshot : Only need recursive multiplications (and some additions) Q: which is the fastest algorithm ? Nextcore AI Gopal Shangari ... made in 19 65 by Intel co-‐ founder Gordon Moore that the density of transistors in integrated circuits would cont i nue to double every to years….in many areas, performance gains due to improvements... drama t i c performance gains due to increased processor speed.” • Excerpt from Report to the President and Congress: Designing a Digital Future, December 2 010 (page 71) Nextcore AI Gopal Shangari... up to a constant # of opera t i ons overall ~ constant* Nextcore AI Gopal Shangari THE ALGORITHM DESIGNER’S MANTRA “Perhaps the most important principle for the good algorithm designer is to

Ngày đăng: 17/11/2019, 07:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan