Techniques for Designing and Analyzing Algorithms
eBook - ePub

Techniques for Designing and Analyzing Algorithms

Douglas R. Stinson

Compartir libro
  1. 440 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Techniques for Designing and Analyzing Algorithms

Douglas R. Stinson

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

Techniques for Designing and Analyzing Algorithms

Design and analysis of algorithms can be a difficult subject for students due to its sometimes-abstract nature and its use of a wide variety of mathematical tools. Here the author, an experienced and successful textbook writer, makes the subject as straightforward as possible in an up-to-date textbook incorporating various new developments appropriate for an introductory course.

This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented.

In addition, the text includes useful introductory material on mathematical background including order notation, algorithm analysis and reductions, and basic data structures. This will serve as a useful review and reference for students who have covered this material in a previous course.

Features



  • The first three chapters provide a mathematical review, basic algorithm analysis, and data structures


  • Detailed pseudocode descriptions of the algorithms along with illustrative algorithms are included


  • Proofs of correctness of algorithms are included when appropriate


  • The book presents a suitable amount of mathematical rigor

After reading and understanding the material in this book, students will be able to apply the basic design principles to various real-world problems that they may encounter in their future professional careers.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Techniques for Designing and Analyzing Algorithms un PDF/ePUB en línea?
Sí, puedes acceder a Techniques for Designing and Analyzing Algorithms de Douglas R. Stinson en formato PDF o ePUB, así como a otros libros populares de Mathematics y Mathematics General. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2021
ISBN
9781000403701
Edición
1
Categoría
Mathematics

Chapter 1

Introduction and Mathematical Background

DOI: 10.1201/9780429277412-1
In this chapter, we discuss mathematical background, including terminology and basic concepts relating to algorithms, order notation (to specify the complexity of algorithms) and various relevant mathematical formulae. Finally, we provide a brief introduction to probability theory and the use of random variables. This chapter can be considered as a review or reference for readers familiar with this background material.

1.1 Algorithms and Programs

In this book, we are studying algorithms, concentrating on their design and analysis. In this section, we explain exactly what we mean by these terms, and we give some motivation for studying these aspects of computer science.
Our basic premise is that we have a problem that we wish to solve by writing a computer program. A computer program is simply a series of instructions that that will be performed by the computer, stated in a precise fashion in a particular programming language, e.g., C++. Yet the subject of this book is algorithms, which the dictionary defines as “a set of rules for solving a problem in a finite number of steps.” Expanding on this slightly, we will define an algorithm as a step-by-step p...

Índice