The Art of Algorithm
Design
The Art of Algorithm Design
Sachi Nandan Mohanty
Pabitra Kumar Tripathy
Suneeta Satpathy
First edition published 2022
by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742
and by CRC Press
2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN
2022 Sachi Nandan Mohanty, Pabitra Kumar Tripathy and Suneeta Satpathy
CRC Press is an imprint of Taylor & Francis Group, LLC
Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, access
Trademark notice: Product or corporate names may be trademarks or registered trademarks and are used only for identification and explanation without intent to infringe.
ISBN: 978-0-367-55511-5 (hbk)
ISBN: 978-0-367-55526-9 (pbk)
ISBN: 978-1-003-09388-6 (ebk)
DOI: 10.1201/9781003093886
Typeset in Minion
by codeMantra
This book is dedicated to my Late Father-in-law, Sukanta Kumar Mohanty - Sachi Nandan Mohanty
This book is dedicated to my parents - Pabitra Kumar Tripathy
This book is dedicated to my parents - Suneeta Satpathy
Contents
A fter gaining a vast experience in the field of teaching, we decided to share our knowledge and the simplest way of teaching methodologies with the learners residing worldwide. This book is designed to provide fundamental knowledge about the theme of the algorithms and their implementations. No doubt in market a number of books related to this field are available, but the specialty of the current book lies in the emphasis on practical implementations of the respective algorithms through discussion of a number of problems along with its theoretical concepts, so as to enhance the skill of the learners.
This book is designed to provide an all-inclusive introduction to the modern study of computer algorithms along with its proper presentation and substantial intensity keeping in mind that it would be handy to all levels of readers. The area of expertise behind this book will familiarize simple concepts like recursion, array, stack, queue, link list, and tree to create an easy understanding of the abstraction of data structure. So, the depth of coverage or mathematical rigor is maintained along with the elementary explanations. Furthermore, each chapter of this book is designed with keen detailed presentation of an algorithm, its specific design technique, application areas and related topics to enforce simple understanding among the learners. Few algorithms that are primarily having theoretical interest are also provided with practical alternatives. Moreover, algorithms are designed using pseudo-codes to make it more interesting and comfortable for the learners. Each pseudo-code designed for respective algorithm leads to its clarity and briefness, which can further be translated in any programming language as a straightforward task. As we all know that visualization plays a major role in understanding complex concepts, this book also incorporates detailed working procedures of algorithms by using simple graphical images. All the algorithms in this book are presented with a careful analysis of running times so as to maintain efficiency as a major design criterion.
The text material of this book is primarily intended to be used in undergraduate and graduate courses in algorithm design and data structure. However, the inclusion of engineering issues in algorithms design along with the mathematical apprehensions would make it more comfortable for self-study and well suitable for technical professionals too. Therefore, we look forward to provide the learners with an enjoyable introduction to the field of algorithms with the text material, its step-by-step description, and careful mathematical explanations to eradicate unfamiliarity or difficulty in the subject matter. Learners who have some familiarity with the topic are expected to find the organized chapters with soar preliminary sections proceeding towards more advanced materials.
This book comprises ten separate chapters. demonstrates the programming implementations of all the cited algorithms using C-Language.
Dr. Sachi Nandan Mohanty received his postdoctoral from IIT Kanpur in 2019 and Ph.D. from IIT Kharagpur in 2015, with an MHRD scholarship from the Govt. of India. He has recently joined as an Associate Professor in the Department of Computer Science & Engineering at ICFAI Foundation for Higher Education Hyderabad. Prof. Mohantys research areas include Data Mining, Big Data Analysis, Cognitive Science, Fuzzy Decision Making, Brain-Computer Interface and Computational Intelligence. Prof. S. N. Mohanty has received three Best Paper Awards during his Ph.D. at IIT Kharagpur from an International Conference on Computer Science & Information Technology at Beijing, China, and another at the International Conference on Soft Computing Applications organized by IIT Roorkee in 2013. He has published 20 research articles in SCI Journals. As a Fellow on Indian Society Technical Education (ISTE), The Institute of Engineering and Technology (IET), Computer Society of India (CSI), Member of Institute of Engineers and IEEE Computer Society, he is actively involved in the activities of the Professional Bodies/Societies.
He has been bestowed with several awards that include Best Researcher Award from Biju Patnaik University of Technology in 2019, Best Thesis Award (first Prize) from Computer Society of India in 2015, and Outstanding Faculty in Engineering Award from Dept. of Higher Education, Govt. of Odisha in 2020. He has received International Travel funding from SERB, Dept. of Science and Technology, Govt. of India for chairing a session in international conferences held in the United States in 2020. Currently, he is the reviewer of various journals namely Journal of Robotics and Autonomous Systems (Elsevier), Computational and Structural Biotechnology (Elsevier), Artificial Intelligence Review (Springer) and Spatial Information Research (Springer). He has edited books published by Wiley, CRC Press, and Springer Nature.
Mr. Pabitra Kumar Tripathy completed his M.Tech. in Computer Science at Berhampur University, Odisha in 2009. He also completed an M.Sc. in Mathematics at Khallikote Autonomous College Berhampur, Odisha in 2003. He is currently pursuing his Ph.D. in Computer Science and Engineering at Biju Patnaik University of Technology, Rourkela, Odisha. He is working as the Head of Department in the Department of Computer Science and Engineering at Kalam Institute of Technology, Berhampur. He has 15 years of teaching and academic experience. His areas of interest are Computer Graphics, Programming Languages, Algorithms, Theory of Computation, Compiler Design, and Artificial Intelligence. He also has published five international journals and has two patents. He has published five books for graduate students.
Next page