算法导论_ver3.pdf
This section will lead readers to start thinking about the design and analysis of algorithms, briefly introducing the expression of algorithms, some of the design strategies to be used in this book, and many of the basic ideas used in algorithm analysis. The rest of this book is based on this basic knowledge.Chapter 1 is an overview of algorithms and their place in modern computing systems. This chapter gives the definition of algorithm and some examples of algorithm. In addition, this chapter demonstrates that algorithms are a technology, as are fast hardware, graphical user interfaces, object-oriented systems, and networks.In chapter 2, we present the first algorithms in the book, which solve the problem of sorting n Numbers. These algorithms are presented in a form of pseudocode that, although not directly translated into any regular programming language, expresses the structure of the algorithm clearly enough for any competent programmer to implement the algorithm in the language of his choice. The sorting algorithm we analyzed is insertion sort, which takes an incremental approach;It also analyzes merge sort, which USES a recursive technique called divide-and-conquer. Although the running time required by both algorithms increases with the value of n, the rate of increase is different. In chapter 2, we analyze the running time of these two algorithms and give a useful representation to express these running times.Chapter 3 gives an exact definition of this representation, called asymptotic representation. At the beginning of chapter 3, several asymptotic symbols are defined, which are mainly used to represent the upper and lower bounds of algorithm running time. The rest of chapter 3 mainly presents some mathematical representation methods. The purpose of this section is more to ensure that the reader's notation matches the book's notation system than to teach it