CSE250, Spring 2022---Scala Resources

The Online Scala Book is concise and highly accessible. It is not nearly as targeted to data structures as our main textbook, of course.

Constructors in Scala, by Geeks for Geeks, goes usefully further on this topic.

StackOverflow on "fun" versus "fun()" in Scala. Relevant to why my first-week lecture notes created a new method "address(...)" rather than keep working with "toString".

General:

Search Trees and Other Dictionary Structures Applet, by "Kuko" from Slovakia.

Tree Operations Visualization Applet. Has gotten funky in its old age.

Sorting-Algorithms.com, with animations in "stick" form. They go a little quick, and are better for high-level comparisons than for seeing how each code operation works. Note this summary:

"The ideal sorting algorithm would have the following properties:

  • Stable: Equal keys aren't reordered.
  • Operates in place, requiring O(1) extra space.
  • Worst-case O(n*log(n)) key comparisons.
  • Worst-case O(n) swaps.
  • Adaptive: Speeds up to O(n) when data is nearly sorted or when there are few unique keys.
There is no algorithm that has all of these properties, and so the choice of sorting algorithm depends on the application."