CSC 141: Covered Material

IMPORTANT: keep checking the newsgroup of the class and this web page
that we are reading right now if possible all the time  and during the last weekend
before the exam, since these are the only ways I can provide
explanations and advice to make your life easier. I intedn to release some sample
questions Friday or Saturday.

NOTE: You are allowed to have a one-page (two sides) normal paper
where you can write whatever you want to remember for the final exam.
In addition, as we have already seen, I try to focus on problem-solving
questions instead of "by-heart" recitals. Of course, having read the material
we have discussed in class and the material from the book will help you
know the concepts and solcing methods. The midterm and the assignments are indicative
questions. Variations of the questions nd problems we have seen in the
midterm, assignments or in the class could be potentail questions.

From the book:  Introduction to Algorithms  by Cormen et al

Whatever has been discussed in the class is "fair game", the list below
is to help you study and mainly indicate some of the thnigs we have not
talked about.

You have to be familiar with misc things such as simple proving techniques
(induction), big-O notation, relationships, logarithms,  graph definitions (ch. 5.4, 5.5).

The. = Theorem, Co. = Corollary, Le. = Lemma.
"Except proof of" means except the proof,  while you should read and understand
the theorem.

Ch.23:  23.1 Elementary Graph Algorithms
                23.2  Breadth First Search except proof of The. 23.4
                23.3  Depth First Search except The. 23.6, Co. 23.7
                23.4 except proof of The. 23.11
                23.5 Strongly Connected Comp. only the algorithm

Ch. 24:  Minimum Spanning Trees
                24.1 Generic greedy
                24.2  Prim and Kruskal's algorithms

Ch. 25:  Single Source Shortest Path Algorithms
                25.1  Lemma 25.1, Co. 25.2,  Le. 25.3, Relaxation, Le .25.4, 25.5
                25.2 Dijkstra (NOT the proof of correctness or the modified DIjkstra complexity
                we are happy with the compleity O(V^2))
                25.3 Bellman-Ford, Lemma 25.12 (NOT THe 25.- correctness)
Ch. 26:  All Pairs Shortest Paths
            26.2 Floy-Warshall

Ch. 27:   Maximum Flow
                27.2 Ford-Fulkerson (see my explanation page on the web)
                Le 27.2, 27.3, Co 27.4, Le 27.5, CO 27.6, The 27.7
                (NOT Le 27.8)
                27.3 Bipartite Matching  Le 27.10 (NOT the proof), 27.11, 27.12

Ch. 36:    NP-Completeness
                (you are advised to study the notes from the class, and then browse through the book,
                 since the book has more stuff)
                 36.1 Polynomial time.
                  NOT: the formal language framework (we did not talk about languages and you are
                 not expected to know that approach, which is basically an equivalent framework  to what we have been saying)
                  NOT Lemma 36.1 and Le 36.2
                36.2 Polunomial time verification
                    NOT: the co-P or co-NP classes.
                36.3 NP-completeness and reducibility
                Fig. 36.5 is important.
                    THe 36.4 NOT the proof.
                 NOT the circuit satisfiability.

Steiner tree problem: (see my web-page for s write-up)

Some sample questions:
    * execute an alorithm on a small graph (Dijjkstra, transitive closure, Steiner tree approximation)
    * A problem in P is also in NP (yes)
        Is it in NP-Complete (no, NPC intersection P = null according to most scientists)
    * Do reduction (transformation) between problem A to problem B. Is the reduciton polunomial?
    * Calculate the competitive ratio of an approximation algorithm say for the Naive algorith ( Steiner tree)
 (see web-page)