Home > Computing and Information Technology > Computer programming / software engineering > Algorithms and data structures > Essential Algorithms: A Practical Approach to Computer Algorithms
36%
Essential Algorithms: A Practical Approach to Computer Algorithms

Essential Algorithms: A Practical Approach to Computer Algorithms

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

A friendly and accessible introduction to the most useful algorithms Computer algorithms are the basic recipes for programming. Professional programmers need to know how to use algorithms to solve difficult programming problems. Written in simple, intuitive English, this book describes how and when to use the most practical classic algorithms, and even how to create new algorithms to meet future needs. The book also includes a collection of questions that can help readers prepare for a programming job interview. Reveals methods for manipulating common data structures such as arrays, linked lists, trees, and networks Addresses advanced data structures such as heaps, 2-3 trees, B-trees Addresses general problem-solving techniques such as branch and bound, divide and conquer, recursion, backtracking, heuristics, and more Reviews sorting and searching, network algorithms, and numerical algorithms Includes general problem-solving techniques such as brute force and exhaustive search, divide and conquer, backtracking, recursion, branch and bound, and more In addition, Essential Algorithms features a companion website that includes full instructor materials to support training or higher ed adoptions.

Table of Contents:
Introduction xv Chapter 1 Algorithm Basics 1 Approach 2 Algorithms and Data Structures 3 Pseudocode 3 Algorithm Features 6 Big O Notation 7 Common Runtime Functions 11 Visualizing Functions 17 Practical Considerations 17 Summary 19 Exercises 20 Chapter 2 Numerical Algorithms 25 Randomizing Data 25 Generating Random Values 25 Randomizing Arrays 31 Generating Nonuniform Distributions 33 Finding Greatest Common Divisors 33 Performing Exponentiation 35 Working with Prime Numbers 36 Finding Prime Factors 37 Finding Primes 39 Testing for Primality 40 Performing Numerical Integration 42 The Rectangle Rule 42 The Trapezoid Rule 43 Adaptive Quadrature 44 Monte Carlo Integration 48 Finding Zeros 49 Summary 51 Exercises 52 Chapter 3 Linked Lists 55 Basic Concepts 55 Singly Linked Lists 56 Iterating Over the List 57 Finding Cells 57 Using Sentinels 58 Adding Cells at the Beginning 59 Adding Cells at the End 60 Inserting Cells After Other Cells 61 Deleting Cells 62 Doubly Linked Lists 63 Sorted Linked Lists 65 Linked-List Algorithms 66 Copying Lists 67 Sorting with Insertionsort 68 Linked List Selectionsort 69 Multithreaded Linked Lists 70 Linked Lists with Loops 71 Marking Cells 72 Using Hash Tables 74 List Retracing 75 List Reversal 76 Tortoise and Hare 78 Loops in Doubly Linked Lists 80 Summary 81 Exercises 81 Chapter 4 Arrays 83 Basic Concepts 83 One-dimensional Arrays 86 Finding Items 86 Finding Minimum, Maximum, and Average 86 Inserting Items 88 Removing Items 89 Nonzero Lower Bounds 89 Two Dimensions 90 Higher Dimensions 91 Triangular Arrays 94 Sparse Arrays 97 Find a Row or Column 100 Get a Value 101 Set a Value 101 Delete a Value 104 Matrices 105 Summary 108 Exercises 108 Chapter 5 Stacks and Queues 111 Stacks 111 Linked-List Stacks 112 Array Stacks 113 Double Stacks 115 Stack Algorithms 117 Queues 123 Linked-List Queues 123 Array Queues 124 Specialized Queues 127 Summary 128 Exercises 128 Chapter 6 Sorting 131 O(N2) Algorithms 132 Insertionsort in Arrays 132 Selectionsort in Arrays 134 Bubblesort 135 O(N log N) Algorithms 138 Heapsort 139 Quicksort 145 Mergesort 153 Sub O(N log N) Algorithms 156 Countingsort 156 Bucketsort 157 Summary 159 Exercises 160 Chapter 7 Searching 163 Linear Search 164 Binary Search 165 Interpolation Search 166 Summary 167 Exercises 168 Chapter 8 Hash Tables 169 Hash Table Fundamentals 170 Chaining 171 Open Addressing 172 Removing Items 174 Liner Probing 174 Quadratic Probing 176 Pseudorandom Probing 178 Double Hashing 178 Ordered Hashing 179 Summary 181 Exercises 182 Chapter 9 Recursion 185 Basic Algorithms 186 Factorial 186 Fibonacci Numbers 188 Tower of Hanoi 189 Graphical Algorithms 193 Koch Curves 193 Hilbert Curve 196 Sierpin´ ski Curve 197 Gaskets 200 Backtracking Algorithms 201 Eight Queens Problem 203 Knight’s Tour 206 Selections and Permutations 209 Selections with Loops 210 Selections with Duplicates 211 Selections Without Duplicates 213 Permutations with Duplicates 214 Permutations Without Duplicates 215 Recursion Removal 216 Tail Recursion Removal 216 Storing Intermediate Values 218 General Recursion Removal 220 Summary 222 Exercises 223 Chapter 10 Trees 227 Tree Terminology 227 Binary Tree Properties 231 Tree Representations 234 Building Trees in General 234 Building Complete Trees 236 Tree Traversal 237 Preorder Traversal 238 Inorder Traversal 240 Postorder Traversal 242 Depth-first Traversal 243 Traversal Run Times 244 Sorted Trees 245 Adding Nodes 245 Finding Nodes 247 Deleting Nodes 248 Threaded Trees 250 Building Threaded Trees 251 Using Threaded Trees 254 Specialized Tree Algorithms 256 The Animal Game 256 Expression Evaluation 258 Quadtrees 260 Tries 266 Summary 270 Exercises 271 Chapter 11 Balanced Trees 277 AVL Trees 278 Adding Values 278 Deleting Values 281 2-3 Trees 282 Adding Values 283 Deleting Values 284 B-Trees 287 Adding Values 288 Deleting Values 289 Balanced Tree Variations 291 Top-down B-trees 291 B+trees 291 Summary 293 Exercises 293 Chapter 12 Decision Trees 297 Searching Game Trees 298 Minimax 298 Initial Moves and Responses 302 Game Tree Heuristics 303 Searching General Decision Trees 305 Optimization Problems 306 Exhaustive Search 307 Branch and Bound 309 Decision Tree Heuristics 310 Other Decision Tree Problems 316 Summary 322 Exercises 322 Chapter 13 Basic Network Algorithms 325 Network Terminology 325 Network Representations 328 Traversals 331 Depth-first Traversal 331 Breadth-first Traversal 334 Connectivity Testing 335 Spanning Trees 337 Minimal Spanning Trees 338 Finding Paths 339 Finding Any Path 339 Label-Setting Shortest Paths 340 Label-Correcting Shortest Paths 344 All-Pairs Shortest Paths 345 Summary 350 Exercises 351 Chapter 14 More Network Algorithms 355 Topological Sorting 355 Cycle Detection 359 Map Coloring 359 Two-coloring 360 Three-coloring 362 Four-coloring 362 Five-coloring 363 Other Map-coloring Algorithms 367 Maximal Flow 368 Work Assignment 370 Minimal Flow Cut 372 Summary 374 Exercises 375 Chapter 15 String Algorithms 377 Matching Parentheses 378 Evaluating Arithmetic Expressions 379 Building Parse Trees 380 Pattern Matching 381 DFAs 381 Building DFAs for Regular Expressions 383 NFAs 386 String Searching 387 Calculating Edit Distance 391 Summary 394 Exercises 394 Chapter 16 Cryptography 397 Terminology 398 Transposition Ciphers 399 Row/column Transposition 399 Column Transposition 401 Route Ciphers 403 Substitution Ciphers 404 Caesar Substitution 404 Vigenère Cipher 405 Simple Substitution 407 One-Time Pads 408 Block Ciphers 408 Substitution-Permutation Networks 409 Feistel Ciphers 410 Public-Key Encryption and RSA 412 Euler’s Totient Function 413 Multiplicative Inverses 413 An RSA Example 414 Practical Considerations 414 Other Uses for Cryptography 415 Summary 416 Exercises 417 Chapter 17 Complexity Theory 419 Notation 420 Complexity Classes 421 Reductions 424 3SAT 425 Bipartite Matching 426 NP-Hardness 426 Detection, Reporting, and Optimization Problems 427 Detection ≤p Reporting 427 Reporting ≤p Optimization 428 Reporting ≤p Detection 428 Optimization ≤p Reporting 429 NP-Complete Problems 429 Summary 431 Exercises 432 Chapter 18 Distributed Algorithms 435 Types of Parallelism 436 Systolic Arrays 436 Distributed Computing 438 Multi-CPU Processing 440 Race Conditions 440 Deadlock 444 Quantum Computing 445 Distributed Algorithms 446 Debugging Distributed Algorithms 446 Embarrassingly Parallel Algorithms 447 Mergesort 449 Dining Philosophers 449 The Two Generals Problem 452 Byzantine Generals 453 Consensus 455 Leader Election 458 Snapshot 459 Clock Synchronization 460 Summary 462 Exercises 462 Chapter 19 Interview Puzzles 465 Asking Interview Puzzle Questions 467 Answering Interview Puzzle Questions 468 Summary 472 Exercises 474 Appendix A Summary of Algorithmic Concepts 477 Appendix B Solutions to Exercises 487 Glossary 559 Index 573


Best Sellers


Product Details
  • ISBN-13: 9781118612101
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Depth: 32
  • Height: 229 mm
  • No of Pages: 624
  • Spine Width: 36 mm
  • Weight: 1043 gr
  • ISBN-10: 1118612108
  • Publisher Date: 05 Sep 2013
  • Binding: Paperback
  • Edition: PAP/PSC
  • Language: English
  • Returnable: N
  • Sub Title: A Practical Approach to Computer Algorithms
  • Width: 188 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Essential Algorithms: A Practical Approach to Computer Algorithms
John Wiley & Sons Inc -
Essential Algorithms: A Practical Approach to Computer Algorithms
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Essential Algorithms: A Practical Approach to Computer Algorithms

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA