A Common-Sense Guide to Data Structures and Algorithms

A Common-Sense Guide to Data Structures and Algorithms

出版信息

Jay Wengrow / Pragmatic Bookshelf / 2017-8-13 / USD 45.95

内容简介

If you last saw algorithms in a university course or at a job interview, you’re missing out on what they can do for your code. Learn different sorting and searching techniques, and when to use each. Find out how to use recursion effectively. Discover structures for specialized applications, such as trees and graphs. Use Big O notation to decide which algorithms are best for your production environment. Beginners will learn how to use these techniques from the start, and experienced developers will rediscover approaches they may have forgotten.

作者简介

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.

目录

Introduction
Why Data Structures Matter
The Array: The Foundational Data Structure
Read
Search
Insert
Delete
Sets: A Different Data Structure With Different Efficiency
Wrapping Up
Why Algorithms Matter
Ordered Arrays
Searching an Ordered Array
Binary Search
Binary Search Vs. Linear Search
Wrapping Up
Oh Yes! Big O Notation excerpt
Big O: Count the Steps
Constant Time Vs. Linear Time
Same Algorithm, Different Scenarios
A Third Kind of Algorithm
Logarithms
O(log N) Explained
Practical Examples
Wrapping Up
Speeding Up Your Code with Big O
Bubble Sort excerpt
Bubble Sort in Action
Bubble Sort Implemented
The Efficiency of Bubble Sort
A Quadratic Problem
A Linear Solution
Wrapping Up
Optimizing Code With and Without Big O
Selection Sort
Selection Sort in Action
Selection Sort Implemented
The Efficiency of Selection Sort
Ignoring Constants
The Role of Big O
A Practical Example
Wrapping Up
Optimizing for Optimistic Scenarios
Insertion Sort
Insertion Sort in Action
Insertion Sort Implemented
The Efficiency of Insertion Sort
The Average Case
A Practical Example
Wrapping Up
Blazing Fast Lookup With Hash Tables
Enter the Hash Table
Hashing with Hash Functions
Building a Thesaurus for Fun and Profit, but Mainly Profit
Dealing with Collisions
The Great Balancing Act
Practical Examples
Wrapping Up
Crafting Elegant Code with Stacks and Queues
Stacks
Stacks in Action
Queues
Queues in Action
Wrapping Up
Recursively Recurse with Recursion
Recurse Instead of Loop
The Base Case
Reading Recursive Code
Recusion in the Eyes of the Computer
Recursion in Action
Wrapping Up
Recursive Algorithms for Speed
Partitioning
Quicksort
The Efficiency of Quicksort
Worst Case Scenario
Quickselect
Wrapping Up
Node Based Data Structures
Linked Lists
Implementing a Linked List
Reading
Searching
Insertion
Deletion
Linked Lists in Action
Doubly Linked Lists
Wrapping Up
Speeding Up All the Things with Binary Trees
Binary Trees
Searching
Insertion
Deletion
Binary Trees in Action
Wrapping Up
Connecting Everything with Graphs
Graphs
Breadth-First Search
Graph Databases
Weighted Graphs
Dijkstra’s Algorithm
Wrapping Up
Dealing With Space Constraints

本文地址:https://www.codercto.com/books/d/1313.html

随机密码生成器

随机密码生成器

多种字符组合密码

XML、JSON 在线转换

XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化

XML 在线格式化

在线 XML 格式化压缩工具