Functional Problem Solving (CSC 151 2014F) : Outlines
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] - [FAQ] [Teaching & Learning] [Grading] [Rubric] - [Calendar]
Current: [Assignment] [EBoard] [Lab] [Outline] [Reading]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines] [Readings]
Reference: [Setup] [VM] [Errors] - [Functions A-Z] [Functions By Topic] - [Racket] [Scheme Report (R5RS)] [R6RS] [TSPL4]
Related Courses: [Davis (2013F)] [Rebelsky (2014S)] [Weinman (2014F)]
Misc: [Submit Questions] - [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] - [Issue Tracker (Course)]
Held: Monday, 13 October 2014
Back to Outline 25 - Recursion Basics, Continued. On to Outline 27 - Recursion with Helper Procedures, Continued.
Summary
We consider a different form of recursion, one based on the construction of recursive helpers that take additional parameters. Along the way, we consider the idea of tail recursion. We also explore how careless design of recursive procedures can inadvertently lead to slow execution.
Related Pages
Overview
Administrivia
These are from a previous time I taught the class. I leave them around for historical reasons.
'(2 3 5 7 11 13)
, we end up with (+ 2 (+ 3 (+ 5 (+ 7 (+ 11 (+ 13 (sum ())))))))
(cons "black" (cons "darkblue" (cons "darkgrey" (select-dark ()))))
partial-sum unexplored-elements 0 (2 3 5 7 11 13) 2 (3 5 7 11 13) 5 (5 7 11 13) 8 (7 11 13) 15 (11 13) 26 (13) 39 ()