The self-taught computer scientist the beginner's guide to data structures and algorithms
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 a...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Hoboken, New Jersey :
Wiley
[2022]
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009657396406719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright Page
- About the Author
- About the Technical Editor
- Acknowledgments
- Contents at a Glance
- Contents
- Introduction
- What You Will Learn
- Who Is This Book For?
- Self-Taught Success Stories
- Matt Munson
- Tianni Myers
- Getting Started
- Installing Python
- Troubleshooting
- Challenges
- Sticking with It
- Part I Introduction to Algorithms
- Chapter 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
- Chapter 2 Recursion
- When to Use Recursion
- Vocabulary
- Challenge
- Chapter 3 Search Algorithms
- Linear Search
- When to Use a Linear Search
- Binary Search
- When to Use a Binary Search
- Searching for Characters
- Vocabulary
- Challenge
- Chapter 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
- Chapter 5 String Algorithms
- Anagram Detection
- Palindrome Detection
- Last Digit
- Caesar Cipher
- Vocabulary
- Challenge
- Chapter 6 Math
- Binary
- Bitwise Operators
- FizzBuzz
- Greatest Common Factor
- Euclid's Algorithm
- Primes
- Vocabulary
- Challenge
- Chapter 7 Self-Taught Inspiration: Margaret Hamilton
- Part II Data Structures
- Chapter 8 What Is a Data Structure?
- Vocabulary
- Challenge
- Chapter 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
- Chapter 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
- Chapter 11 Stacks
- When to Use Stacks
- Creating a Stack
- Using Stacks to Reverse Strings
- Min Stack
- Stacked Parentheses
- Vocabulary
- Challenges
- Chapter 12 Queues
- When to Use Queues
- Creating a Queue
- Python's Built-In Queue Class
- Create a Queue Using Two Stacks
- Vocabulary
- Challenge
- Chapter 13 Hash Tables
- When to Use Hash Tables
- Characters in a String
- Two Sum
- Vocabulary
- Challenge
- Chapter 14 Binary Trees
- When to Use Trees
- Creating a Binary Tree
- Breadth-First Tree Traversal
- More Tree Traversals
- Invert a Binary Tree
- Vocabulary
- Challenges
- Chapter 15 Binary Heaps
- When to Use Heaps
- Creating a Heap
- Connecting Ropes with Minimal Cost
- Vocabulary
- Challenge
- Chapter 16 Graphs
- When to Use Graphs
- Creating a Graph
- Dijkstra's Algorithm
- Vocabulary
- Challenge
- Chapter 17 Self-Taught Inspiration: Elon Musk
- Chapter 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
- EULA.