By contrast, in worse case analysis, by definition you're making absolutely no assumptions about where the input comes from, so as a result, worse case analysis, is particularly appropriate for general purpose subroutines, subroutines that you design without having any knowledge of how they will be used or what kind of inputs they will be used on. 