نام کتاب
A Common-Sense Guide to Data Structures and Algorithms

Level Up Your Core Programming SkillsJay Wengrow

Paperback509 Pages
PublisherPragmatic Bookshelf
Edition2
LanguageEnglish
Year2020
ISBN9781680507225
1K
A310
انتخاب نوع چاپ:
جلد سخت
699,000ت
0
جلد نرم
769,000ت(2 جلدی)
0
طلق پاپکو و فنر
789,000ت(2 جلدی)
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

Data_Structures#

Algorithms#

توضیحات

Data structures and algorithms are more than abstract concepts. Mastering them enables you to write code that is efficient, leading to software that runs faster and consumes less memory. This is a big deal for today’s software applications, which exist on increasingly mobile platforms and handle increasingly greater amounts of data.


The problem with most resources on these subjects, though, is that they are...well...obtuse. Most texts go heavy on the math jargon, and if you are not a mathematician, it can be difficult to grasp what on Earth is going on. Even books that claim to make algorithms “easy” seem to assume that the reader has an advanced math degree. Because of this, too many people shy away from these concepts, feeling that they are not “smart” enough to understand them.


The truth, though, is that everything about data structures and algorithms boils down to common sense. Mathematical notation itself is simply a particular language, and everything in math can also be explained with common-sense terminology. In this book, I use that common-sense language (plus a lot of diagrams!) to explain these concepts in simple, and dare I say, enjoyable ways.


I go out of my way to make these concepts real and practical with ideas that you can make use of today. Sure, you’ll learn some really cool computer science along the way. But this book is about taking that seemingly abstract stuff and making it directly practical. You’ll be writing better code and faster software by the time you’re done reading this book.


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. You'll 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.Data structures and algorithms are more than abstract concepts. Mastering them enables you to write code that is efficient, leading to software that runs faster and consumes less memory. This is a big deal for today’s software applications, which exist on increasingly mobile platforms and handle increasingly greater amounts of data.

The problem with most resources on these subjects, though, is that they are...well...obtuse. Most texts go heavy on the math jargon, and if you are not a mathematician, it can be difficult to grasp what on Earth is going on. Even books that claim to make algorithms “easy” seem to assume that the reader has an advanced math degree. Because of this, too many people shy away from these concepts, feeling that they are not “smart” enough to understand them.


The truth, though, is that everything about data structures and algorithms boils down to common sense. Mathematical notation itself is simply a particular language, and everything in math can also be explained with common-sense terminology. In this book, I use that common-sense language (plus a lot of diagrams!) to explain these concepts in simple, and dare I say, enjoyable ways.


I go out of my way to make these concepts real and practical with ideas that you can make use of today. Sure, you’ll learn some really cool computer science along the way. But this book is about taking that seemingly abstract stuff and making it directly practical. You’ll be writing better code and faster software by the time you’re done reading this book.

 

Table of Contents

1. Why Data Structures Matter

2. Why Algorithms Matter

3. O Yes! Big O Notation

4. Speeding Up Your Code with Big O

5. Optimizing Code with and Without Big O

6. Optimizing for Optimistic Scenarios

7. Big O in Everyday Code

8. Blazing Fast Lookup with Hash Tables

9. Crafting Elegant Code with Stacks and Queues

10. Recursively Recurse with Recursion

11. Learning to Write in Recursive

12. Dynamic Programming

13. Recursive Algorithms for Speed

14. Node-Based Data Structures

15. Speeding Up All the Things with Binary Search Trees

16. Keeping Your Priorities Straight with Heaps

17. It Doesn·t Hurt to Trie

18. Connecting Everything with Graphs

19. Dealing with Space Constraints

20. Techniques for Code Optimization


Who Is This Book For?

This book is ideal for several audiences:

• You are a computer science student who wants a text that explains data structures and algorithms in plain English. This book can serve as a supplement to whatever “classic” textbook you happen to be using.


• You are a beginning developer who knows basic programming, but wants to learn the fundamentals of computer science to write better code and increase your programming knowledge and skills.

• You are a self-taught developer who has never studied formal computer science (or a developer who did but forgot everything!) and wants to leverage the power of data structures and algorithms to write more scalable and elegant code.


Whoever you may be, I tried to write this book so it can be accessed and enjoyed by people of all skill levels.


What’s New in the Second Edition

Why a second edition? In the few years since the original edition was published, I’ve had the opportunity to teach these topics to various audiences. Over time, I continued to refine my explanations as well as discover additional topics that I thought were exciting and important. There was also quite a bit of demand for hands-on exercises that would help people gain practice with these concepts.

Accordingly, the second edition has the following new features:

 

  1. Revised material. I’ve made significant revisions to the original chapters for the sake of clarity. While I thought that the first edition did a pretty good job in making these complex topics easy to understand, I found that there was room to make certain areas even clearer.Many sections of the original chapters have been entirely rewritten, and I’ve added brand-new sections as well. I feel that these revisions alone have enhanced the book to make it worthy of a new edition.
  2. New chapters and topics. The second edition contains six new chapters that cover topics I’m particularly excited about. The book has always blended practice with theory, but I added even more material that you can take straight to the bank. The chapters Big O in Everyday Code and Techniques for Code Optimization focus exclusively on day-to-day code, and how knowledge of data structures and algorithms can help you write more efficient software. I went all out when it came to recursion. While the previous edition contained a chapter on this topic, I devoted an entirely new chapter, Learning to Write in Recursive, to teach you how to write recursive code, which can be confusing for beginners. I haven’t seen this explained anywhere else, and I think it’s a unique and valuable addition. I also added the chapter, Dynamic Programming, which is a popular subject, and one critical to making recursive code more efficient. There are many data structures out there, and it’s difficult to select which to include and which to leave out. However, there’s been increased demand to learn about heaps and tries, and I’ve found them to be fascinating as well. Hence the chapters, Keeping Your Priorities Straight with Heaps and It Doesn't Hurt to Trie.
  3. Exercises and solutions. Each chapter now has a number of exercises that allow you to gain hands-on practice with each topic within the book. I also added detailed solutions, which are available in an appendix at the back of the book. This is a significant enhancement that transforms the book into a more complete learning experience.


About the Author

Jay Wengrow is an experienced educator and developer who is dedicated to teaching the world to code. He is the founder and CEO of Actualize, a national coding bootcamp and apprenticeship; Anyone Can Learn To Code, an educational company teaching everyone to code through online tutorials, K-12 computer science curriculum, and corporate training.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
الگوریتم‌‌ها
1,213
Advanced Algorithms and Data Structures
1,029,000 تومان
Machine Learning
897
Genetic Algorithms and Machine Learning for Programmers
364,000 تومان
الگوریتم‌‌ها
926
Algorithms For Dummies
627,000 تومان
الگوریتم
1,159
Algorithms to Live By
574,000 تومان
Elixir
944
Genetic Algorithms in Elixir
365,000 تومان
الگوریتم‌‌ها
569
Machine Trading
397,000 تومان
الگوریتم‌‌ها
11,047
Grokking Algorithms
452,000 تومان
الگوریتم‌‌ها
1,206
Learning Algorithms
411,000 تومان
Dart
1,017
Data Structures & Algorithms in Dart
598,000 تومان
الگوریتم‌‌ها
1,038
Algorithms
444,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©