Atjaunināt sīkdatņu piekrišanu

E-grāmata: Art of Algorithm Design [Taylor & Francis e-book]

(College of Engg., Pune), (CE Bhubaneswar), (KIT Berhampur)
  • Formāts: 298 pages, 1 Tables, black and white; 6 Line drawings, black and white; 6 Illustrations, black and white
  • Izdošanas datums: 18-Oct-2021
  • Izdevniecība: Chapman & Hall/CRC
  • ISBN-13: 9781003093886
  • Taylor & Francis e-book
  • Cena: 209,00 €*
  • * this price gives unlimited concurrent access for unlimited time
  • Standarta cena: 298,57 €
  • Ietaupiet 30%
  • Formāts: 298 pages, 1 Tables, black and white; 6 Line drawings, black and white; 6 Illustrations, black and white
  • Izdošanas datums: 18-Oct-2021
  • Izdevniecība: Chapman & Hall/CRC
  • ISBN-13: 9781003093886

The Art of Algorithm design is a complementary perception of all books on Algorithm design and is a roadmap for all levels of learners as well as professionals dealing with algorithmic problems. It cover the topic in considerable depth, yet makes their design and analysis accessible to all levels of readers.



The Art of Algorithm design is a complementary perception of all books on Algorithm design and is a roadmap for all levels of learners as well as professionals dealing with algorithmic problems. Further the book provides a comprehensive introduction to algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. All Algorithms are described and designed with a "pseudocode" to be readable by anyone with little acquaintances of programming.

In a nutshell the book compromises a comprehensive set of problems and their solutions against each algorithm to demonstrate its executional assessment and complexity with an objective to

  • Understand the introductory concepts and design principles of algorithms and their complexities.
  • Demonstrate the programming implementations of all the algorithms using C-Language.
  • Be an excellent handbook on algorithms with self-explanatory chapters enriched with problems and solutions.

While other books may also cover some of the same issues, this book is designed with an objective to be both versatile and complete as it traverses through step-by-step concepts and methods for analyzing each algorithmic complexity with pseudo code examples. Moreover, the book provides with an enjoyable primer to the field of algorithms.

This book is designed for undergraduates and postgraduates studying algorithm design.

Sachi Nandan Mohanty

, is an Associate Professor in the Dept of Computer Engineering, College of Engineering Pune, India with 11 years of teaching and research experiences in Algorithm design, Computer Graphics, and Machine Learning.

Pabitra Kumar Tripathy

is working as Head, Dept. of Computer Science & Engineering , Kalam Institute of Technology, Berhampur with 15 years of teaching experiences in Programming Languages, Algorithms, and Theory of computation.

Suneeta Satpathy

is working as an Associate Professor in the Dept of Computer Science & Engineering, College of Engineering Bhubanewar, Bhubaneswar, Odisha with 13 years of teaching experiences in Computer Programming, Problem solving techniques, and Decision Mining.

Preface xv
Authors xvii
Chapter 1 Fundamental Concepts of Data Structure 1(42)
1.1 Array
1(10)
1.1.1 Array Element in Memory
2(1)
1.1.2 Initialization
2(1)
1.1.3 Retrieving and Storing Some Values from/into the Array
3(8)
1.2 Stack
11(11)
1.2.1 Algorithm for Push Operation
13(1)
1.2.2 Algorithm for Pop Operation
13(1)
1.2.3 Algorithm for Traverse Operation
14(1)
1.2.4 Algorithm for Peep Operation
14(1)
1.2.5 Algorithm for Update Operation
15(7)
1.3 Queue
22(7)
1.3.1 Algorithm for Insert Operation
25(1)
1.3.2 Algorithm for Delete Operation
25(1)
1.3.3 Algorithm for Traverse Operation
26(1)
1.3.4 Algorithm for Peep Operation
26(1)
1.3.5 Algorithm for Update Operation
27(2)
1.4 Linked List
29(9)
1.4.1 Single Link List
30(8)
1.4.1.1 Structure of the Node of a Linked List
30(8)
1.5 Tree
38(5)
1.5.1 Questions
41(2)
Chapter 2 Concepts of Algorithms and Recurrences 43(36)
2.1 Algorithm
43(1)
2.2 Design Of Algorithms
44(1)
2.3 Algorithmic Notations
45(10)
2.3.1 Calculation for Method Calls
54(1)
2.4 Growth Of Function
55(4)
2.4.1 Asymptotic Notations
55(1)
2.4.2 O - Notation (Big - Oh Notation)
55(1)
2.4.3 Omega Notation
56(1)
2.4.4 Theta Notation
57(1)
2.4.5 o Notation (Little-Oh Notation)
58(1)
2.4.6 ω - Notation (Little-Omega Notation)
58(1)
2.4.7 Comparison of Functions
58(1)
2.4.7.1 Transitivity
58(1)
2.4.7.2 Reflexivity
58(1)
2.4.7.3 Symmetry
58(1)
2.4.7.4 Transpose Symmetry
58(1)
2.4.8 Summary
59(1)
2.5 Problems Related To Notations
59(5)
2.5.1 Stirling's Approximations
61(3)
2.6 Recurrences
64(13)
2.6.1 Recurrence Relations
64(1)
2.6.2 Substitution Method
65(3)
2.6.3 Recursion Tree
68(5)
2.6.4 Master Method
73(4)
2.7 Questions
77(2)
2.7.1 Short questions
77(1)
2.7.2 Long Questions
77(2)
Chapter 3 Divide-and-Conquer Techniques 79(26)
3.1 Divide-And-Conquer Approach
79(1)
3.2 Binary Search
79(3)
3.2.1 Analysis of Binary Search
81(1)
3.2.1.1 Best-Case complexity
82(1)
3.2.1.2 Worst-Case complexity
82(1)
3.3 Merge Sort
82(3)
3.3.1 Analysis of Merge Sort
84(1)
3.4 Quick Sort
85(4)
3.4.1 Good Points of Quick Sort
85(1)
3.4.2 Bad Points of Quick Sort
85(3)
3.4.3 Performance of Quick Sort
88(1)
3.4.3.1 Worst Case
88(1)
3.4.3.2 Best Case
89(1)
3.5 Heap Sort
89(9)
3.5.1 Building a Heap
90(8)
3.6 Priority Queue
98(2)
3.6.1 Operations for Min Priority Queue
100(1)
3.7 Lower Bound For Sorting
100(2)
3.8 Questions
102(3)
3.8.1 Short Questions
102(1)
3.8.2 Long Questions
102(3)
Chapter 4 Dynamic Programming 105(38)
4.1 Dynamic Programming
105(1)
4.2 Developing Dynamic Programming Algorithms
106(2)
4.2.1 Optimal Substructure
107(1)
4.2.2 The Principle of Optimality
107(1)
4.3 Matrix Chain Multiplication
108(30)
4.3.1 Chains of Matrices
109(32)
4.3.1.1 How to Order Multiplications?
109(29)
4.4 Longest Common Subsequence Problem
138(3)
4.5 Divide And Conquer vs. Dynamic Programming
141(1)
4.6 Questions
141(2)
4.6.1 Short Questions
141(1)
4.6.2 Long Questions
141(2)
Chapter 5 Greedy Algorithms 143(32)
5.1 Greedy Algorithms
143(2)
5.1.1 Characteristics and Features of Problems Solved by Greedy Algorithms
143(1)
5.1.2 Basic Structure of Greedy Algorithm
144(1)
5.1.3 What Is Feasibility
144(10)
5.1.3.1 How to Prove Greedy Algorithms Optimal
144(1)
5.2 An Activity - Selection Problem
145(6)
5.3 Knapsack Problem
151(3)
5.4 Huffman Encoding
154(10)
5.4.1 Prefix-Free Code Representation
156(8)
5.5 Greedy Versus Dynamic Programming
164(1)
5.6 Data Structures For Disjoint Sets
165(8)
5.6.1 Application of Disjoint Set Data Structures
166(2)
5.6.2 Linked List Representation of Disjoint Sets
168(1)
5.6.3 Disjoint Set of Forests
169(2)
5.6.4 By Path Compression
171(2)
5.7 Questions
173(2)
5.7.1 Short Questions
173(1)
5.7.2 Long Questions
173(2)
Chapter 6 Graph 175(30)
6.1 Traversal Of Graph
175(5)
6.1.1 Breadth First Search
175(4)
6.1.2 Depth First Search
179(1)
6.2 Spanning Tree
180(8)
6.2.1 Minimum Spanning Tree
181(1)
6.2.2 Kruskal Algorithm
181(3)
6.2.3 Prim's Algorithm
184(4)
6.3 Single-Source Shortest Path
188(7)
6.3.1 Negative Weighted Edges
188(1)
6.3.2 Relaxation Technique
188(1)
6.3.3 Bellman-Ford Algorithm
189(3)
6.3.4 Dijkstra's Algorithm
192(3)
6.4 All Pair Shortest Path
195(8)
6.4.1 Floyd-Warshall's Algorithm
196(7)
6.5 Questions
203(2)
6.5.1 Short Questions
203(1)
6.5.2 Long Questions
204(1)
Chapter 7 Approximation Algorithms 205(18)
7.1 Hamiltonian Cycle
205(1)
7.2 Approximation Algorithms
206(3)
7.2.1 Traveling Salesman Problem
206(3)
7.2.1.1 Special Case of TSP
206(3)
7.3 Backtracking
209(3)
7.3.1 Hamiltonian Circuit Problem
210(2)
7.4 N-Queen Problem/8 - Queen Problem
212(3)
7.5 Backtracking Algorithm
215(1)
7.6 Branch And Bound
215(5)
7.6.1 Knapsack Problem
216(4)
7.7 Questions
220(3)
7.7.1 Short Questions
220(1)
7.7.2 Long Questions
221(2)
Chapter 8 Matrix Operations, Linear Programming, Polynomial and FFT 223(18)
8.1 Matrices
223(11)
8.1.1 Operations with Matrix
224(3)
8.1.2 Rank of a Matrix
227(4)
8.1.3 Application of Matrices
231(1)
8.1.4 Boolean Matrix Multiplication
231(3)
8.2 Polynomials
234(2)
8.3 Polynomial And FFT
236(2)
8.4 Questions
238(3)
8.4.1 Short Questions
238(1)
8.4.2 Long Questions
238(3)
Chapter 9 Number Theoretic Algorithms 241(16)
9.1 Number Theoretic Algorithms
241(2)
9.2 Greatest Common Divisor
243(2)
9.3 Linear Diophantine Equations
245(1)
9.4 Modular Arithmetic
246(1)
9.5 Linear Congruence
247(2)
9.5.1 Single-Variable Linear Equations
247(1)
9.5.2 Set of Linear Equations
248(1)
9.6 Groups
249(2)
9.7 Ring
251(1)
9.8 Field
251(4)
9.9 Questions
255(2)
9.9.1 Short Questions
255(1)
9.9.2 Long Questions
255(2)
Chapter 10 Programming Implementations of the Algorithms 257(38)
10.1 Program For The Longest Common Subsequences
257(2)
10.2 Matrix Chain Multiplication
259(2)
10.3 Program For Knapsack Problem
261(2)
10.4 Bellman-Ford Program
263(4)
10.5 Write A Program For Travelling Salesman Problem Using Backtracking
267(2)
10.6 Traveling Salesman Problem Using Branch And Bound
269(2)
10.7 Program For Heap Sort
271(3)
10.8 Program For Quick Sort
274(2)
10.9 Program For Merge Sort
276(2)
10.10 Program For DFS
278(5)
10.11 Program For Prims Algorithm
283(1)
10.12 Program For The Warshall Method
284(1)
10.13 Program For The Kruskal Method
285(2)
10.14 Program For Dijkstra Method
287(3)
10.15 BFS Using Color Code
290(5)
Index 295
Dr.Sachi Nandan Mohanty, received his Postdoc from IIT Kanpur in the year 2019 and Ph.D. from IIT Kharagpur in the year 2015, with MHRD scholarship from Govt of India. He has recently joined as Associate Professor in the Department of Computer Science & Engineering at ICFAI Foundation for Higher Education Hyderabad. Prof. Mohanty 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 3 Best Paper Awards during his Ph.D at IIT Kharagpur from International Conference at Benjing, China, and the other at International Conference on Soft Computing Applications organized by IIT Rookee in the year 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 which include "Best Researcher Award from Biju Pattnaik University of Technology in 2019","Best Thesis Award(first Prize) from Computer Society of India in 2015", "Outstanding Faculty in Engineering Award" from Dept. of Higher Education, Govt. of Odisha in 2020. He has received International Travel fund from, SERB, Dept of Science and Technology, Govt. of India for chair the session international conferences USA in 2020. Currently he is the reviewer of various journals and published books with several publishers.

Mr. Pabitra Kumar Tripathy completed M.Tech in computer science from Berhampur university, Odisha in the year 2009. He also completed M.Sc. in mathematics from Khallikote Autonomous college Berhampur, Odisha in the year 2003. He is currently pursuing his Ph.D in computer science and Engineering at Biju Patnaik University of Technology. He is working as Head of Department in the department of Computer Science and Engineering at Kalam Institute of Technology, Berhampur. He is having 15 years of teaching and academic experience. His area of interest are Computer Graphics, Programming Languages, Algorithms, Theory of computation, Compiler design, Artificial Intelligence. He also have published 5 International journals and 2 Patients. He have published 5 number of books for Graduate students.

Dr. Suneeta Satpathy, received her Ph.D. from Utkal University, Bhubaneswar, Odisha, in the year 2015, with Directorate of Forensic Sciences, MHA scholarship from Govt of India. She is currently working as an Associate Professor in the Department of Computer Science & Engineering at College of Engineering Bhubaneswar (CoEB), Bhubaneswar. Her research interests include Computer Forensics, Cyber Security, Data Fusion, Data Mining, Big Data Analysis, Decision Mining and Machine Learning. In addition to research, she has guided many post-graduate and graduate students. She has published papers in many International Journals and conferences in repute. She has two Indian patents in her credit. Her professional activities include roles as editorial board member and/or reviewer of various journals. She is also editor of several books on the topic of Digital Forensics, Internet of Things, Machine Learning and Data Analytics to be published by leading publishers. She is a member of CSI, ISTE, OITS, ACM, IE, and IEEE.