A Common-Sense Guide to Data Structures and Algorithms, Second Edition

Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for todays web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-w...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Wengrow, Jay
Format: E-Book
Sprache:Englisch
Veröffentlicht: La Vergne Pragmatic Programmers, LLC, The 2020
Pragmatic Bookshelf
Ausgabe:2
Schlagworte:
ISBN:9781680507225, 1680507222
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for todays web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work.Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. Youll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.Use these techniques today to make your code faster and more scalable.
AbstractList Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for todays web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work.Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. Youll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.Use these techniques today to make your code faster and more scalable.
Author Wengrow, Jay
Author_xml – sequence: 1
  fullname: Wengrow, Jay
BookMark eNpVkD1PwzAYhI34ELT0P3hDSETyayeOM5bQFqRKDIU5cpzXNDS1IXbo3yeiDDCcTnd6dMNNyJnzDk_IrMgVSMUyNio7_ZNzzrMLMgHOeKoAVHFJZiG8M8YEAxApXJHlnJZ-v_cu2aALSFdD2yCNnj7oqOkm9oOJQ4-BatfQeffm-zZu9-GObtD4sVo0bWy9uybnVncBZ78-Ja_LxUv5mKyfV0_lfJ1ogEwmSmphBdO1sSxTJjPAwBY5GpCWFxKbOrW8ZgwlV6IQAmUjrFK1AlTYFEZMye1xV4cdHsLWdzFUXx3W3u9C9e-Ikb05sh-9_xwwxOoHM-hir7tqcV9KkTPBU_ENgrFc2Q
ContentType eBook
DEWEY 005.73
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781680508055
1680508059
Edition 2
Second edition.
ExternalDocumentID 9781680508055
EBC6370324
GroupedDBID 38.
AABBV
ABARN
ABMRC
ABQPQ
ADVEM
AERYV
AFOJC
AHWGJ
AJFER
ALMA_UNASSIGNED_HOLDINGS
BBABE
CZZ
EBSCA
GEOUK
ID FETCH-LOGICAL-a1156-86a3f30abcf058c5c101f97ec16f296edb4f2b00e6283933e6d3f88b81e8ed9c3
ISBN 9781680507225
1680507222
IngestDate Sun Aug 24 07:41:43 EDT 2025
Wed Nov 26 06:21:07 EST 2025
IsPeerReviewed false
IsScholarly false
LCCallNum_Ident QA76.9.D35 .W464 2020
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a1156-86a3f30abcf058c5c101f97ec16f296edb4f2b00e6283933e6d3f88b81e8ed9c3
OCLC 1202481189
PQID EBC6370324
PageCount 499
ParticipantIDs askewsholts_vlebooks_9781680508055
proquest_ebookcentral_EBC6370324
PublicationCentury 2000
PublicationDate 2020
2020-08-10
PublicationDateYYYYMMDD 2020-01-01
2020-08-10
PublicationDate_xml – year: 2020
  text: 2020
PublicationDecade 2020
PublicationPlace La Vergne
PublicationPlace_xml – name: La Vergne
PublicationYear 2020
Publisher Pragmatic Programmers, LLC, The
Pragmatic Bookshelf
Publisher_xml – name: Pragmatic Programmers, LLC, The
– name: Pragmatic Bookshelf
SSID ssj0003011341
ssib057760296
ssib056701095
Score 2.1746905
Snippet Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is...
SourceID askewsholts
proquest
SourceType Aggregation Database
Publisher
SubjectTerms Computer algorithms
Data structures (Computer science)
TableOfContents Cover -- Table of Contents -- Preface -- Who Is This Book For? -- What's New in the Second Edition -- What's in This Book? -- How to Read This Book -- Code Examples -- Online Resources -- Acknowledgments -- Connecting -- 1. Why Data Structures Matter -- Data Structures -- The Array: The Foundational Data Structure -- Measuring Speed -- Reading -- Searching -- Insertion -- Deletion -- Sets: How a Single Rule Can Affect Efficiency -- Wrapping Up -- Exercises -- 2. Why Algorithms Matter -- Ordered Arrays -- Searching an Ordered Array -- Binary Search -- Binary Search vs. Linear Search -- Wrapping Up -- Exercises -- 3. O Yes! Big O Notation -- Big O: How Many Steps Relative to N Elements? -- The Soul of Big O -- An Algorithm of the Third Kind -- Logarithms -- O(log N) Explained -- Practical Examples -- Wrapping Up -- Exercises -- 4. Speeding Up Your Code with Big O -- Bubble Sort -- Bubble Sort in Action -- The Efficiency of Bubble Sort -- A Quadratic Problem -- A Linear Solution -- Wrapping Up -- Exercises -- 5. Optimizing Code with and Without Big O -- Selection Sort -- Selection Sort in Action -- The Efficiency of Selection Sort -- Ignoring Constants -- Big O Categories -- Wrapping Up -- Exercises -- 6. Optimizing for Optimistic Scenarios -- Insertion Sort -- Insertion Sort in Action -- The Efficiency of Insertion Sort -- The Average Case -- A Practical Example -- Wrapping Up -- Exercises -- 7. Big O in Everyday Code -- Mean Average of Even Numbers -- Word Builder -- Array Sample -- Average Celsius Reading -- Clothing Labels -- Count the Ones -- Palindrome Checker -- Get All the Products -- Password Cracker -- Wrapping Up -- Exercises -- 8. Blazing Fast Lookup with Hash Tables -- Hash Tables -- Hashing with Hash Functions -- Building a Thesaurus for Fun and Profit, but Mainly Profit -- Hash Table Lookups -- Dealing with Collisions
Looking for the Last Node -- Heap Deletion -- Heaps vs. Ordered Arrays -- The Problem of the Last Node…Again -- Arrays as Heaps -- Heaps as Priority Queues -- Wrapping Up -- Exercises -- 17. It Doesn't Hurt to Trie -- Tries -- Storing Words -- Trie Search -- The Efficiency of Trie Search -- Trie Insertion -- Building Autocomplete -- Completing Autocomplete -- Tries with Values: A Better Autocomplete -- Wrapping Up -- Exercises -- 18. Connecting Everything with Graphs -- Graphs -- Directed Graphs -- Object-Oriented Graph Implementation -- Graph Search -- Depth-First Search -- Breadth-First Search -- The Efficiency of Graph Search -- Weighted Graphs -- Dijkstra's Algorithm -- Wrapping Up -- Exercises -- 19. Dealing with Space Constraints -- Big O of Space Complexity -- Trade-Offs Between Time and Space -- The Hidden Cost of Recursion -- Wrapping Up -- Exercises -- 20. Techniques for Code Optimization -- Prerequisite: Determine Your Current Big O -- Start Here: The Best-Imaginable Big O -- Magical Lookups -- Recognizing Patterns -- Greedy Algorithms -- Change the Data Structure -- Wrapping Up -- Parting Thoughts -- Exercises -- A1. Exercise Solutions -- Chapter 1 -- Chapter 2 -- Chapter 3 -- Chapter 4 -- Chapter 5 -- Chapter 6 -- Chapter 7 -- Chapter 8 -- Chapter 9 -- Chapter 10 -- Chapter 11 -- Chapter 12 -- Chapter 13 -- Chapter 14 -- Chapter 15 -- Chapter 16 -- Chapter 17 -- Chapter 18 -- Chapter 19 -- Chapter 20 -- Index -- - A - -- - B - -- - C - -- - D - -- - E - -- - F - -- - G - -- - H - -- - I - -- - J - -- - K - -- - L - -- - M - -- - N - -- - O - -- - P - -- - Q - -- - R - -- - S - -- - T - -- - U - -- - V - -- - W -
Making an Efficient Hash Table -- Hash Tables for Organization -- Hash Tables for Speed -- Wrapping Up -- Exercises -- 9. Crafting Elegant Code with Stacks and Queues -- Stacks -- Abstract Data Types -- Stacks in Action -- The Importance of Constrained Data Structures -- Queues -- Queues in Action -- Wrapping Up -- Exercises -- 10. Recursively Recurse with Recursion -- Recurse Instead of Loop -- The Base Case -- Reading Recursive Code -- Recursion in the Eyes of the Computer -- Filesystem Traversal -- Wrapping Up -- Exercises -- 11. Learning to Write in Recursive -- Recursive Category: Repeatedly Execute -- Recursive Category: Calculations -- Top-Down Recursion: A New Way of Thinking -- The Staircase Problem -- Anagram Generation -- Wrapping Up -- Exercises -- 12. Dynamic Programming -- Unnecessary Recursive Calls -- The Little Fix for Big O -- The Efficiency of Recursion -- Overlapping Subproblems -- Dynamic Programming through Memoization -- Dynamic Programming through Going Bottom-Up -- Wrapping Up -- Exercises -- 13. Recursive Algorithms for Speed -- Partitioning -- Quicksort -- The Efficiency of Quicksort -- Quicksort in the Worst-Case Scenario -- Quickselect -- Sorting as a Key to Other Algorithms -- Wrapping Up -- Exercises -- 14. Node-Based Data Structures -- Linked Lists -- Implementing a Linked List -- Reading -- Searching -- Insertion -- Deletion -- Efficiency of Linked List Operations -- Linked Lists in Action -- Doubly Linked Lists -- Queues as Doubly Linked Lists -- Wrapping Up -- Exercises -- 15. Speeding Up All the Things with Binary Search Trees -- Trees -- Binary Search Trees -- Searching -- Insertion -- Deletion -- Binary Search Trees in Action -- Binary Search Tree Traversal -- Wrapping Up -- Exercises -- 16. Keeping Your Priorities Straight with Heaps -- Priority Queues -- Heaps -- Heap Properties -- Heap Insertion
Title A Common-Sense Guide to Data Structures and Algorithms, Second Edition
URI https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=6370324
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781680508055
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3JTsMwELWg5QAXdrHLQogTkbLZcY6ltCCoSiWo4FY5jl3KkkITEJ_POHHTUg6IA4dY2RQn8-LxjGdD6Ii4trB9J7YCEvuW70uuh1RoEe4o0Hu4IjQPFG4F7Ta7vw87poBWmpcTCJKEfX6Gr_8KNZwDsHXo7B_gLh8KJ2AfQIcWYId2RiIuD42_sR7c0I11A6qpBn8Q53UxznjGtfX5PbcWFDmZa8_94WiQPRQLLTdaK9bJjQfTZvk7mfRNgsZL42pjlgdce2Z5oDPi_SL3a6fw93oxpddarXrhhiS_aZQOZTaIiG4RjTyTirpxWqcesAjXP359s3TlLm3hNmVM5tF8QEH9rZ43rrtX4zFNaKCNbyXPIEFAbdek-Hs0GhnMpDrmbty1a1Jxla-yhJZ4-gRMHyaELP0xa-aiwO0KqkodH7KK5mSyhpbHVTGwYZLrqFnD0zjgHAecDbHGAU9wwIADnuBwggsUsEFhA3Wbjdv6hWWqVVgcpGpqMco95dk8EsomTBABzE6FgRQOVfDBMo585QKTkxQkutDzJI09xVjEHMlkHApvE1WSYSK3ECZMgVYKdOaR4zvc5xERRJFYkYgqJcQ2OpyiR-_jOTesp72SaLCRbYTHZOrl1423b2-C4s7vt-yixclftYcqQCS5jxbERzZIRwcG7C-EiTN6
linkProvider ProQuest Ebooks
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=A+Common-Sense+Guide+to+Data+Structures+and+Algorithms%2C+Second+Edition&rft.au=Wengrow%2C+Jay&rft.date=2020-01-01&rft.pub=Pragmatic+Programmers%2C+LLC%2C+The&rft.isbn=9781680507225&rft.externalDocID=EBC6370324
thumbnail_m http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97816805%2F9781680508055.jpg