Introduction to Programming: Additional work for week 19
Plenty of sets of notes on the topics covered this week can be found
on the web. Here are useful ones on binary search:
As discussing binary search of arrays was meant to be just a taster of
the vast topic of algorithms, so discussing linked lists was just a taster
for the vast topic of data structures. Algorithms and data structures
are often discussed together in one book or course, which is generally the
next step taken after covering the basics of programming. Algorithms
concentrates on the how of programming, while data structures
concentrates on the what. The same could be said about viewing
programming in a structured way against an object oriented way. Of course,
the two come together because the how and what of programming are both
important. Here a few sets of web notes on linked lists in Java:
-
Paul Dunne, University of Liverpool
-
Diane Horton, University of Toronto, Canada
-
Ewan Tempero, Victoria University of Wellington, New Zealand
-
Andries van der Walt, University of Stellenbosch, South Africa
-
Mal Sutherland, La Trobe University, Bendigo, Victoria, Australia
-
Richard Baldwin, Austin Community College, Texas
-
Robert Keller, Harvey Mudd College, Claremont, California
from his web-book
"Computer Science: Abstraction to Implementation"
Robert Keller's web-book also has some notes
here
on "higher order functions as objects" which is the trick we used in class
to generalise sorting lists by passing in an object as a parameter which
gave the function used to order items in the list.
We used the idea of an inner classes to implement linked lists
in Java. Here are some notes on that topic:
Matthew Huntbach
6th March 2001