¡@ Lecture

2004¦~01¤ë04¤é

­º­¶
Introduction
References
Updates
Announcement
Lecture
Homeworks

¡@

bullet

Lecture 1 and 2 - Programming Style (also known as ¾Ç®ÕùبS±Ðªº¨Æ). Please download the following document. programming_style

bulletLecture 3 and 4 - Dynamic programming
bulletFibonacci number [Skiena] pp. 54.
bulletPartition [Skiena] pp. 56.
bulletString matching [Skiena] pp. 60
bulletLongest increasing sequence [Skiena] pp. 62.
bulletMinimum weight triangulation [Skiena] pp. 64.
bulletMatrix multiplication [Cormen] pp. 302.
bulletLongest common subsequence [Cormen] pp. 312.
bulletOne-direction traveling salesman [§f«~]
bulletShortest path in matrix [§f«~]
bulletComputer and boxes. (Problem C in this document).
bulletFast food ACM online-judge 662.
bulletAlgebraic problem (¤j¤A2002)
bulletFast and slow talk (¤j¤A2002)
bulletLecture 5 - Greedy method
bulletActivity selection problem. [Cormen] pp. 329.
bulletFractional knapsack problem [Cormen] pp. 335.
bulletAs-few-stops-as-possible problem. [Cormen] pp. 337.
bulletHoffman code [Cormen] pp. 337.
bulletMinimum sum of pairs problem. [¥x¤j³Õ¤h¯Z¸ê®æ¦Ò].
bulletCoin-changing problem [Cormen] pp. 353.
bulletDijkstra's single source shortest path algorithm. [Cormen] pp. 527.
bulletKruskal's minimum spanning tree algorithm. [Cormen] pp. 504.
bulletJob scheduling with deadlines [¤j¥Ò2003]
bulletMinimal Coverage [ACM 10020]
bulletAdvertisement [ACM 10148]
bulletLecture 6 and 7 - Divide and Conquer
bulletFast Exponentiation [Skiena] pp. 75.
bulletBig Mod [ACM 374]
bulletBinary search [Skiena] pp. 76.
bulletQuicksort.
bulletConstruct a binary tree from its inorder and preorder sequences. [ACM 536]
bulletTower of Hanoi [ACM 254]
bulletL-shaped tiling problem. [C2003 homework 5]
bulletMerge sort [Skiena] pp. 37.
bulletFast Fourier Transform (FFT) [Cormen] pp. 787. Also here.
bulletSorting/merging/permutation networks. Also here.
bulletDifferent ways to compute (n k). [Cormen] pp. 103.
bullet# of ways to give hats to persons so that nobody get his own hats.
bulletCritical Mass [ACM 580].
bulletStrategy [ACM 174].
bulletThe fisherman's problem. [¥x¤j³Õ¤h¯Z¸ê®æ¦Ò].
bulletPeano-Hilbert curve. [¥x¤j¥æ¤j¥æ¬y¤ñÁÉ]
bulletQuad tree [ACM 297]
bulletTree summing [ACM 112]
bulletStrassen's matrix multiplication [Cormen] pp. 739.
bulletThe nearest neighbor problem [Cormen] pp. 908.
bulletLecture 8
bulletCode review for midterm examination (part 1)
bulletLecture 9
bulletCode review for midterm examination (part 2)
bulletHeuristic methods, depth-first search
bulletAll subsets, [Skiena] pp. 117.
bulletAll permutation, [Skiena] pp. 118.
bulletAll paths from a single source, [Skiena] pp. 118.
bulletBandwidth, [Skiena] pp. 120.
bulletCovering chessboard,  [Skiena] pp. 122.
bulletBook assignment [§f«~] pp.299.
bulletKnight's tour [§f«~] pp. 319.
bulletSimulated Annealing.
bulletLecture 10
bulletBreadth-first search
bulletEight-puzzle [§f«~] pp. 343
bulletCoin-flipping [§f«~] pp. 363
bulletPortion problem [§f«~] pp. 376
bulletSet of numbers [§f«~] pp. 377
bulletLecture 11
bulletHeuristic search
bulletEight-puzzle [§f«~] pp. 380
bulletKnight's tour [§f«~] pp. 319
bulletCoin moving problem [§f«~] pp. 389
bulletA* search
bulletCoin moving problem [§f«~] pp. 389
bulletA* optimal solution theorem [§f«~] pp. 399
bulletSearch efficiency vs. optimality [§f«~] pp. 400
bulletWeighted evaluation function.
bulletBranch-and-bound
bulletTraveling salesman [§f«~] pp. 403
bulletLecture 12 - Graph algorithms
bulletTerminology
bulletGraph traversal
bulletDepth-first search, [Skiena] pp. 91.
bulletBreadth-first search, [Skiena] pp. 89.
bulletApplication
bulletConnected component, [Skiena] pp. 92.
bulletCycle detection, [Skiena] pp. 93.
bulletBipartite graph coloring, [Skiena] pp. 93.
bulletTopological sort, [Skiena] pp. 94.
bulletArticulation points, [Skiena] pp. 95.
bulletMinimum spanning tree
bulletPrim's method, [Skiena] pp. 98.
bulletKruskal's method, [Skiena] pp. 99.
bulletShortest path
bulletSingle source
bulletDijkstra's algorithm, [Skiena] pp. 100.
bulletAll sources, [Skiena] pp. 102.
bulletCut and flow
bulletMaximum cut, [Skiena] pp. 297.
bulletMinimum flow, [Skiena] pp. 297.
bulletLecture 13 - Data Structures
bulletStack
bulletQueue
bulletHeap
bulletHash table
bulletDictionary
bulletPriority Queue
bulletBounded Height Priority Queue
bulletPeeling triangle stripes from a 3D model. [Skiena] pp. 39.
bulletSorted Array
bulletExpressing a number as the sum of pyramidal numbers. [Skiena] pp. 43.
bulletLecture 14 - Data Structures
bulletUnion-and-Find Tree
bulletDisjoint Sets. [Tarjan] pp. 23.
bulletBalanced Binary Trees
bulletSelf-adjusting
bulletSplay Tree [Tarjan] pp. 53.
bulletNon-self-adjusting
bulletRed black tree [Tarjan] pp. 48.
bulletAmortized analysis
bulletStack and multi-pop [Cormen] pp. 357.
bulletIncreasing a binary counter [Cormen] pp. 358.
bulletAccounting method [Cormen] pp. 360.
bulletPotential method [Cormen] pp. 363.
¡@ ¡@ ¡@

­º­¶ | Introduction | References | Updates | Announcement | Lecture | Homeworks

¤W¦¸§ó·s¦¹¯¸¥xªº¤é´Á¡G 2004¦~01¤ë04¤é