streaming algorithm: focusing on the amount of memory needed to accurately represent past inputs; dynamic algorithm: focusing on the time complexity of maintaining solutions to problems with online inputs.