The Self-Taught Computer Scientist: The Beginner’s Guide to Data Structures & Algorithms
- Length: 224 pages
- Edition: 1
- Language: English
- Publisher: Wiley
- Publication Date: 2021-10-19
- ISBN-10: 1119724414
- ISBN-13: 9781119724414
- Sales Rank: #183092 (See Top 100 Books)
The Self-Taught Computer Scientist is Cory Althoff’s follow-up to The Self-Taught Programmer, which inspired hundreds of thousands of professionals to learn how to program outside of school.
In The Self-Taught Programmer, Cory showed readers why you don’t need a computer science degree to program professionally and taught the programming fundamentals he used to go from a complete beginner to a software engineer at eBay without one.
In The Self-Taught Computer Scientist, Cory teaches you the computer science concepts that all self-taught programmers should understand to have outstanding careers. The Self-Taught Computer Scientist will not only make you a better programmer; it will also help you pass your technical interview: the interview all programmers have to pass to land a new job.
Whether you are preparing to apply for jobs or sharpen your computer science knowledge, reading The Self-Taught Computer Scientist will improve your programming career. It’s written for complete beginners, so you should have no problem reading it even if you’ve never studied computer science before.
Cover Table of Contents Title Page Introduction What You Will Learn Who Is This Book For? Self-Taught Success Stories Getting Started Sticking with It I: Introduction to Algorithms 1 What Is an Algorithm? Analyzing Algorithms Constant Time Logarithmic Time Linear Time Log-Linear Time Quadratic Time Cubic Time Exponential Time Best-Case vs. Worst-Case Complexity Space Complexity Why Is This Important? Vocabulary Challenge 2 Recursion When to Use Recursion Vocabulary Challenge 3 Search Algorithms Linear Search When to Use a Linear Search Binary Search When to Use a Binary Search Searching for Characters Vocabulary Challenge 4 Sorting Algorithms Bubble Sort When to Use Bubble Sort Insertion Sort When to Use Insertion Sort Merge Sort When to Use Merge Sort Sorting Algorithms in Python Vocabulary Challenge 5 String Algorithms Anagram Detection Palindrome Detection Last Digit Caesar Cipher Vocabulary Challenge 6 Math Binary Bitwise Operators FizzBuzz Greatest Common Factor Euclid's Algorithm Primes Vocabulary Challenge 7 Self-Taught Inspiration: Margaret Hamilton II: Data Structures 8 What Is a Data Structure? Vocabulary Challenge 9 Arrays Array Performance Creating an Array Moving Zeros Combining Two Lists Finding the Duplicates in a List Finding the Intersection of Two Lists Vocabulary Challenge 10 Linked Lists Linked List Performance Create a Linked List Search a Linked List Removing a Node from a Linked List Finding a Linked List Cycle Vocabulary Challenges 11 Stacks When to Use Stacks Creating a Stack Using Stacks to Reverse Strings Min Stack Stacked Parentheses Vocabulary Challenges 12 Queues When to Use Queues Creating a Queue Python's Built-In Queue Class Create a Queue Using Two Stacks Vocabulary Challenge 13 Hash Tables When to Use Hash Tables Characters in a String Two Sum Vocabulary Challenge 14 Binary Trees When to Use Trees Creating a Binary Tree Breadth-First Tree Traversal More Tree Traversals Invert a Binary Tree Vocabulary Challenges 15 Binary Heaps When to Use Heaps Creating a Heap Connecting Ropes with Minimal Cost Vocabulary Challenge 16 Graphs When to Use Graphs Creating a Graph Dijkstra's Algorithm Vocabulary Challenge 17 Self-Taught Inspiration: Elon Musk 18 Next Steps What’s Next? Climbing the Freelance Ladder How to Get an Interview How to Prepare for a Technical Interview Additional Resources Final Thoughts Index Copyright Dedication About the Author About the Technical Editor Acknowledgments End User License Agreement
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.