I'm trying to improve my skills in analysis of algorithms. I think Sedgewick's "introduction to the analysis of algorithm" is a good, I'm reading carefully the first chapter, at least I'm trying. And the following is mentioned:
The first, popularized by Aho, Hopcroft, and Ullman and Cormen, Leiserson, Rivest, and Stein, concentrates on determining the growth of the worst-case performance of the algorithm (an “upper bound”). A prime goal in such analyses is to determine which algorithms are optimal in the sense that a matching “lower bound” can be proved on the worst-case performance of any algorithm for the same problem. We use the term theory of algorithms to refer to this type of analysis.
Which explains the approach adopted in CLRS
It is also mentioned
The second approach to the analysis of algorithms, popularized by Knuth, concentrates on precise characterizations of the bestcase, worst-case, and average-case performance of algorithms, using a methodology that can be refined to produce increasingly precise answers when desired. A prime goal in such analyses is to be able to accurately predict the performance characteristics of particular algorithms when run on particular computers, in order to be able to predict resource usage, set parameters, and compare algorithms. This approach is scientific: we build mathematical models to describe the performance of real-world algorithm implementations, then use these models to develop hypotheses that we validate through experimentation.
So this is the approach adopted by Knuth (I guess the analysis in "The art of computer programming" follow such approach).
I do get the general idea of course, but not the application, is there a specific application of these concepts you can point out? For example I do know the CLRS analysis of quicksort for example, how would this be any different from a scientific approach?