^CSE2304^ [plan] [other courses]

CSE2304 Algorithms and Data Structures, Progress 2005

NB. Page numbers do not necessarily correspond exactly to lecture numbers:
[01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [22] [23]; the notes are for sale in the bookshop.
Tutes: [1] [2] [3] [4] [5]
Pracs: [0] [1] [2&3] [4&5]
Net: Bib. [1] [2], [Alg's], [C].

Check this page regularly. IT WILL CHANGE!

Lectures: Tues 11.00am (8/R1), Wed 2.00pm (11/H1).

Week 1 starts Monday 28 February

Week 2 starts Monday 7 March [prac0(all)] [tute1]

Week 3 starts Monday 14 March [prac1(A)] [tute1]

Week 4 starts Monday 21 March [prac1(B)]

Easter, Friday 25 March - Friday 1 April 2005

Do prepare prac2 and also tute2!

Week 5 starts Monday 4 April [prac2(A)] [tute2]

Week 6 starts Monday 11 April [prac2(B)] [tute2]

Prac 2/3 test data: Do also test your program on data other than from gen2.c, including but not limited to  e.g.  1, 2, 3, ..., 1000000  and  1000000, 999999, ..., 3, 2, 1. There is at least one solution "floating around" which is fast on random data (which is good) but slow (O(M×N)) on ascending or descending data (i.e. not perfect).
It is not possible to set a hard and fast time-limit such as 11.7 seconds, say, because speed will vary with processor, cache, memory, disc, load, etc.. What is more important is the trend when M and/or N are doubled etc..

Week 7 starts Monday 18 April [prac3(A) NB out of 12] [tute3]

NB. Anzac Day, Monday 25 April

check your time-table carefully!

Week 8 starts Tuesday 26 April

  • ...continued]. (Note that adjacency matrices are efficient for representing dense graphs and adjacency lists are efficient for sparse graphs.)
    [Path problems]: Dijkstra's 'single-source shortest paths' (SSSP) algorithm for weighted directed graphs and Warshall's 'transitive closure' (TC, connectedness) algorithm for unweighted (or weighted) directed graphs; continued...
Dijkstra's: Source vertex vi. 'done' is a set of vertices. Initially done={vi}.
Invariant (Inv): Algorithm has a tree of shortest paths from source vi to other vertices in done, and also knows all shortest paths of the form {vi, ..., vk, vu} where vi to vk are in done and vu is in V-done. Repeatedly, add to done the vertex, vc, that is in V-done and is closest to the source. Keep Inv true.
[Not examinable: This algorithm often "reappears" to e.g. format text, find an optimal (compression) code for binomial data, segment time-series, and fit polygons.]

Week 9 starts Monday 2 May [prac3(B) NB out of 12] [tute3]

Week 10 starts Monday 9 May [prac4(A)] correction, [tute4]

Revision: There are past exam papers, notes, & tutorial questions under "past years" on the unit's [home page]. Also see "prequisite knowledge" and the FAQ.

            0.0 0 1 1 0 0 1 1...
          ----------------------
1/5 = 101 ) 1.0 0 0 0 0 0 0 0...
              1 0 1
              -----
                1 1 0 0
                  1 0 1
                  -----
                    1 1 etc.
Check: 1/510 = 0.(0011).2
= 3/16 + 3/(16)2 +... (geom.series)
= 3*(1/(1-1/16) - 1) = 3/15 = 1/5

Week 11 starts Monday 16 May [prac4(B)] [tute4]

Recursion ~ self reference. Recursion does not need named self-reference; it can be effected with the fixed-point operator Y (Y does not refer to itself & neither do G, g, or F, but g is applied to itself), also in SML and Algol68 -- not examinable.

Week 12 starts Monday 23 May [prac5(A)] [tute5]

Revision: There are past exam papers, including notes, and tutorial questions under "past years" on the unit's [home page]. Also see "prequisite knowledge" and the FAQ.
And [help-room] timetable s1 2005 -- consultation.

Week 13 starts Monday 30 May [prac5(B)] [tute5]



2005 © L. Allison, Schoo1 of Computer Science and Software Engineering, Monash University, Australia 38OO.
Created with "vi (Linux & Solaris)",   charset=iso-8859-1