algorithm design and recursion objectives to understand basic techniques for analyzing the efficiency of algorithms to know what searching is and understand the algorithms for linear and binary search to understand the basic principles of recursive definitions and functions and be able to write simple recursive functions to understand sorting in depth and know the algorithms for selection sort and merge sort to appreciate how the analysis of algorithms can demonstrate that some problems are intractable and others are unsolvable if you have worked your way through to this point in the bookyou are well on the way to becoming programmer way back in discussed the relationship between programming and the study of computer science now that you have some programming skillsyou are ready to start considering some broader issues in the field here we will take up one of the central issuesnamely the design and analysis of algorithms along the wayyou'll get glimpse of recursiona particularly powerful way of thinking about algorithms searching let' begin by considering very common and well-studied programming problemsearching searching is the process of looking for particular value in collection for examplea program that maintains the membership list for club might need to look up the information about particular member this involves some form of search process