This chapter discusses algorithmic complexity and efficiency by making assumptions that all primitive operations take the same time and complex operations cost is the sum of primitive operations. It introduces best case, average case, and worst case complexity and mentions exercises to test understanding of algorithmic complexity.