1. Trang chủ
  2. » Giáo án - Bài giảng

4 1 3 courseoverview tủ tài liệu training pdf

24 75 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

COURSE TOPICS• Vocabulary for design and analysis of algorithms • Divide and conquer algorithm design paradigm • Radomization in algorithm design • Primitives for reasoning about graphs

Trang 1

About The Course

Design and Analysis

Trang 2

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

• Radomization in algorithm design

• Primitives for reasoning about graphs

• Use and implementa t i on of data structures

Trang 3

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

– E.g., “Big O” nota t i on

– “sweet spot” for high level reasoning about algorithms

Trang 4

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

Trang 5

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

– Will apply to: Integer multiplication, sorting, matrix

multiplication, closest pair

– General analysis methods (“Master Method/Theorem”)

Trang 6

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

• Randomization in algorithm design

– Will apply to: QuickSort, primality testing, graph

partitioning, hashing.

Trang 7

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

• Randomiza t i on in algorithm design

• Primitives for reasoning about graphs

– Connectivity information, shortest paths, structure of

information and social networks.

Trang 8

COURSE TOPICS

• Vocabulary for design and analysis of algorithms

• Divide and conquer algorithm design paradigm

• Randomiza t i on in algorithm design

• Primitives for reasoning about graphs

• Use and implementation of data structures

– Heaps, balanced binary search trees, hashing and some

variants (e.g., bloom filters)

Trang 9

TOPICS FOR LATER IN COURSE

• Greedy algorithm design paradigm

• Dynamic programming algorithm design paradigm

Trang 10

• Greedy algorithm design paradigm

• Dynamic programming algorithm design paradigm

• NP Complete problems and what to do about them

Trang 11

• Greedy algorithm design paradigm

• Dynamic programming algorithm design paradigm

• NP Complete problems and what to do about them

• Fast heuristics with provable guarantees

• Fast exact algorithms for special cases

• Exact algorithms that beat brute force search

Trang 12

Skills You’ll Learn

• Become a better programmer

Trang 13

• Become a better programmer

• Sharpen your analytical skills

Trang 14

• Become a better programmer

• Sharpen your analytical

• Start “thinking algorithmically”

Trang 15

• Become a better programmer

• Sharpen your analytical

• Start “thinking algorithmically”

• Literacy with computer science’s “greatest hits”

Trang 16

• Become a better programmer

• Sharpen your analytical skills

• Start “thinking algorithmically”

• Literacy with computer science’s “greatest hits”

• Ace your technical interviews

Trang 17

Who Are You?

• It doesn’t matter

Trang 18

WHO ARE YOU?

• It doesn’t matter

• Ideally, you know some programming

Trang 19

WHO ARE YOU?

• It doesn’t matter

• Ideally, you know some programming

• It doesn’t matter

– But you should be capable of translting algorithm

descript i ons into working programs in some

programming language.

Trang 20

WHO ARE YOU?

• It doesn’t matter

• Ideally, you know some programming

• It doesn’t matter which languages you kno

• Some (perhaps rusty) mathema t i cal experience

– Basic discrete math, proofs by induction etc.

Trang 21

WHO ARE YOU?

• It doesn’t matter

• Ideally, you know some programming.

• It doesn’t matter which languages you know.

• Some (perhaps rusty) mathema t i cal experience.

– Basic discrete math, proofs by induction etc.

• Excellent free reference: “Mathema t i cs for Computer

Trang 22

Support i ng Materials

• All (annotated)slides available from course site

Trang 23

SUPPORT I NG MATERIALS

• All (annotated) slides available from course site

• No required textbook A few of the many good ones:

– Kleinberg/Tardos, Algorithm Design, 2005.

Trang 24

SUPPORT MATERIALS

• All (annotated) slides available from course site

• No required textbook A few of the many good ones:

– Kleinberg/Tardos, Algorithm Design, 2005.

– Dasgupta/Papadimitriou/Vazirani, Algorithms, 2006.

– Cormen/Leiserson/Rivest/Stein, Introduc8on to Algorithms, 2009 (3rd editionti.

– Mehlhorn/Sanders, Data Structures and Algorithms: The Basic Toolbox, 2008.

• No specific development environment required

– But you should be able to write and execute programs.

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

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN