The self-taught computer scientist The beginner's guide to data structures & algorithms

Cory Althoff

Book - 2021

Get a head start in a rapidly growing industry with help from a Silicon Valley insider. Computer science is one of the fastest growing industries in the world and shows no signs of slowing down. In The Self-Taught Computer Scientist: The Beginner's Guide to Computer Science, expert programmer and author Cory Althoff shows you the hands-on exercises, stories, and examples, you need to help you become a successful computer scientist. You'll discover how to: Understand computer science fundamentals, including how memory and compilers work, how the TCP/IP stack works, and how to pass a technical job interview; Use data structures and algorithms, both of which are essential to a successful programming career; Write your first programs ...in Python, an easy-to-use programming language ideal for beginners. Perfect for self-taught programmers everywhere, The Self-Taught Computer Scientist will help you get up to speed and ready for a job in computer science whether you're brand new to coding or you've already learned a language or two.

Saved in:

2nd Floor Show me where

005.73/Althoff
1 / 1 copies available
Location Call Number   Status
2nd Floor 005.73/Althoff Checked In
Subjects
Genres
Handbooks and manuals
Published
Hoboken, New Jersey : John Wiley & Sons, Inc [2021]
Language
English
Main Author
Cory Althoff (author)
Physical Description
xxii, 201 pages : illustrations ; 24 cm
Bibliography
Includes index.
ISBN
9781119724414
  • Introduction
  • 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
  • Reverse 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 Traversal
  • 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