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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Althoff, Cory, author (author)
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.