Please use this identifier to cite or link to this item: https://dspace.iiti.ac.in/handle/123456789/4549
Full metadata record
DC FieldValueLanguage
dc.contributor.authorPrakash, Suryaen_US
dc.date.accessioned2022-03-17T01:00:00Z-
dc.date.accessioned2022-03-17T15:34:49Z-
dc.date.available2022-03-17T01:00:00Z-
dc.date.available2022-03-17T15:34:49Z-
dc.date.issued2016-
dc.identifier.citationPrakash, S., Gupta, P., & Tewari, R. (2016). Algorithms and their design. Decision sciences: Theory and practice (pp. 913-956) doi:10.1201/9781315183176en_US
dc.identifier.isbn9781482282566; 9781466564305-
dc.identifier.otherEID(2-s2.0-85052582057)-
dc.identifier.urihttps://doi.org/10.1201/9781315183176-
dc.identifier.urihttps://dspace.iiti.ac.in/handle/123456789/4549-
dc.description.abstractAn algorithm is a sequence of unambiguous instructions or steps to solve a particular problem. It is meant for obtaining a required output for any legitimate input in a finite amount of time. Algorithms are frequently expressed in the form of a pseudocode that can be converted into a program using a programming language. Hence, the concept of an algorithm is considered distinct from that of a program. This chapter discusses the basics about an algorithm. It defines the term 'algorithm' formally and lists out various characteristics of an algorithm. It discusses the complexity analysis of an algorithm. It also presents various popular algorithms design paradigms such as divide and conquer, greedy algorithm, dynamic programming, and back tracking. Each of the algorithm design paradigm is discussed with several examples to illustrate the concept. This chapter briefly throws some light on the types of computational problems by presenting a discussion on the P-problem and NP-problem. These problems are very important in theoretical computer science and constitute the bulk of our practical computational problems. They have been central to the theory of computation for many years. A deterministic algorithm always gives the correct solution and the number of computational steps executed by the algorithm is the same for different executions of the algorithm with the same input data. However, it is practically realized many a times that for a given computational problem, it may be difficult to design a deterministic algorithm with a good execution time. Also, sometimes, it is observed that a deterministic algorithm performs reasonably well for a small size of input data; however, the execution time may go very high as the number of inputs increases. Approximation algorithms and randomized algorithms are the solutions to these problems. Approximation algorithms are the types of algorithms that are used to find approximate solutions to optimization problems whereas a randomized algorithm makes use of randomness in its logical steps to achieve a better performance in the average case. At the end of the chapter, a brief introduction of approximation and randomized algorithms is presented. © 2017 by Taylor & Francis Group, LLC.en_US
dc.language.isoenen_US
dc.publisherCRC Pressen_US
dc.sourceDecision Sciences: Theory and Practiceen_US
dc.titleAlgorithms and their designen_US
dc.typeBook Chapteren_US
dc.rights.licenseAll Open Access, Green-
Appears in Collections:Department of Computer Science and Engineering

Files in This Item:
There are no files associated with this item.


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Altmetric Badge: