This action might not be possible to undo. Are you sure you want to continue?

Course Overview

Algorithms and Data Structures Princeton University Spring 2010 Robert Sedgewick

‣ ‣ ‣ ‣ ‣

outline why study algorithms? usual suspects coursework resources

Algorithms in Java, 4th Edition

·

Robert Sedgewick and Kevin Wayne

·

Copyright © 2009

·

January 30, 2010 9:44:18 AM

Algorithms in Java, 4th Edition

·

Robert Sedgewick and Kevin Wayne

·

Copyright © 2009

·

January 30, 2010 9:44:18 AM

COS 226 course overview What is COS 226? Intermediate-level survey course. Programming and problem solving with applications. Algorithm: method for solving a problem. Data structure: method to store information.

Why study algorithms? Their impact is broad and far-reaching. Internet. Web search, packet routing, distributed file sharing, ... Biology. Human genome project, protein folding, ... Computers. Circuit layout, file system, compilers, ... Computer graphics. Movies, video games, virtual reality, ... Security. Cell phones, e-commerce, voting machines, ... Multimedia. CD player, DVD, MP3, JPG, DivX, HDTV, ... Transportation. Airline crew scheduling, map routing, ... Physics. N-body simulation, particle collision simulation, ... …

• • • •

topic data types sorting searching graphs strings geometry

data structures and algorithms stack, queue, union-find, priority queue quicksort, mergesort, heapsort, radix sorts hash table, BST, red-black tree BFS, DFS, Prim, Kruskal, Dijkstra KMP, regular expressions, TST, Huffman, LZW Graham scan, k-d tree, Voronoi diagram

3

4

i++) { bodies[i]. dense. they cast a brilliant new light on some aspect of computing. Study of algorithms dates at least to Euclid. j++) if (i != j) bodies[i].addForce(bodies[j]). they can be terse. ” — Francis Sullivan Computational models are replacing mathematical models in scientific inquiry. But once unlocked. for (int j = 0. allusive. human. new opportunities. E. “ For me.Why study algorithms? Old roots. and computer. Some important algorithms were discovered by undergraduates! Why study algorithms? To solve problems that could not otherwise be addressed. great algorithms are the poetry of computation. Knuth ! 20th century science (formula based) 21st century science (algorithm based) “ Algorithms: a common language for nature. Network connectivity. Ex. Why study algorithms? They may unlock the secrets of life and of the universe. ” — Avi Wigderson 7 8 . Just like verse. j < N. i < N. true. t = t + dt) for (int i = 0. } ! “ An algorithm must be seen to be believed. ” — D.0. [stay tuned] • • 300 BCE 1920s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 5 6 Why study algorithms? For intellectual stimulation. and even mysterious.resetForce(). E = mc 2 F = ma F = Gm1 m 2 r2 ! ! $ h2 2 ' # + V (r)) *(r) = E *(r) &" % 2m ( for (double t = 0.

problem-solving. They may unlock the secrets of life and of the universe. starting Tuesday 2/9. Staff discretion. Final Programs Midterm Exercises Exams. See Donna O’Leary (CS 210) to resolve serious conflicts. Sedgewick Charlse Vaske Maia Ginsburg (lead) Prof. first precept meets this week “all questions answered” during break Coursework and grading 8 programming assignments. Midterm. Rusinkiewicz Berk Kapicioglu Linjie Luo Office Hours W 1:30-2:30 Th 3-4 see web page M 2-3 see web page F 1:30-2:30 Exercises. Old roots. 45% Electronic submission. Precepts. everyone needs to meet me in office hours Orientation precept (if you have not taken COS 126): W 2/3 5PM room TBA 11 12 . 25% • • FAQ.Why study algorithms? For fun and profit. 15% Final. Not registered? Change precept? Use SCORE. Introduce new material. To adjust borderline cases. Why study anything else? 9 10 The usual suspects Lectures. Why study algorithms? • • • • • • Their impact is broad and far-reaching. starting Monday 2/8. new opportunities. background for programming assignment. • • • • • • What L01 P01 P01A P03 P02 P02A When MW 11-12:20 Th 12:30 Th 12:30 Th 3:30 F 11 F 11 Where CS 104 Friend 108 Friend 109 Friend 108 Friend 108 Friend 109 Who Prof. For fun and profit. For intellectual stimulation. Closed-book with cheatsheet. Discussion. Due 11pm. 15% Due at beginning of lecture. To solve problems that could not otherwise be addressed.

Parts 1–5. Download code from lecture. [Labyrinth books] Algorithms in Java.edu/~cos226 Resources (books) Required readings. [stay tuned for selections online] Algorithms in C.Resources (web) Course content.edu/IntroProgramming http://www. Algorithms F O U R T H E D I T I O N R O B E RT S E D G E W I C K | K E V I N WAY N E http://www. [stay tuned for selections online] • • • • • • • • • Recommended Java reference. Programming assignments.cs. Exercises. 3rd edition. Submit assignments. 2nd edition. Brief summary of content. http://www.princeton. Algorithms 4th edition.princeton. [Labyrinth books] • • Booksites.cs. preliminary edition. Course info. Introduction to Programming in Java. Lecture slides.princeton.edu/algs4 13 14 .

- 00 Overview
- How to Solve Rubik's Cube
- 1 - 1 - Why Study Algorithms _ (4 Min)
- Lec8 Algorithms
- Beginner Solution to the Rubik's Cube
- exteuc
- Blindfold TysonMao
- Sudoku Generation and Difficulty Metrics (2006)
- BeginnerRubikSolution
- rubik solver2
- 8080 S09-Homeworks
- 8 Algorithms for Rubik's Cube
- dAA 2008
- Beginner
- Beginner Solution to the Rubik
- Data Structure1
- Rubik's Cube Instructions
- cs341
- Algorithms, Performativity and Governability - Introna
- A Review of Current Marine Demultiple Techniques
- bldguide Macky
- Lecture 1
- Typologies of Computation viewed through the Prism of Computational Models
- A Bayesian Approach for Image-based Underwater Target Tracking and Navigation
- Wook-Joong Et Al - 2005 - Fast Algorithms for Binary Dilation and Erosion Using Run-Length Encoding
- A common man
- UNIT7 MUTUAL EXCLUSION.pdf
- Forward Chaining Algoritm
- DAA LP
- How to Solve the Cube
- 01-00Intro-2x2

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.

scribd