The Self-Taught Computer Scientist
eBook - ePub

The Self-Taught Computer Scientist

The Beginner's Guide to Data Structures & Algorithms

Cory Althoff

Condividi libro
  1. English
  2. ePUB (disponibile sull'app)
  3. Disponibile su iOS e Android
eBook - ePub

The Self-Taught Computer Scientist

The Beginner's Guide to Data Structures & Algorithms

Cory Althoff

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

The follow-up to Cory Althoff's bestselling The Self-Taught Programmer, which inspired hundreds of thousands of professionals to learn to program outside of school!

Fresh out of college and with just a year of self-study behind him, Cory Althoff was offered a dream first job as a software engineer for a well-known tech company, but he quickly found himself overwhelmed by the amount of things he needed to know, but hadn't learned yet. This experience combined with his personal journey learning to program inspired his widely praised guide, The Self-Taught Programmer. Now Cory's back with another guide for the self-taught community of learners focusing on the foundations of computer science.

The Self-Taught Computer Scientist introduces beginner and self-taught programmers to computer science fundamentals that are essential for success in programming and software engineering fields. Computer science is a massive subject that could cover an entire lifetime of learning. This book does not aim to cover everything you would learn about if you went to school to get a computer science degree. Instead, Cory's goal is to give you an introduction to some of the most important concepts in computer science that apply to a programming career. With a focus on data structures and algorithms, The Self-Taught Computer Scientist helps you fill gaps in your knowledge, prepare for a technical interview, feel knowledgeable and confident on the job, and ultimately, become a better programmer.

  • Learn different algorithms including linear and binary search and test your knowledge with feedback loops
  • Understand what a data structure is and study arrays, linked lists, stacks, queues, hash tables, binary trees, binary heaps, and graphs
  • Prepare for technical interviews and feel comfortable working with more experienced colleagues
  • Discover additional resources and tools to expand your skillset and continue your learning journey

It's as simple as this: You have to study computer science if you want to become a successful programmer, and if you don't understand computer science, you won't get hired. Ready for a career in programming, coding, or software engineering and willing to embrace an "always be learning" mindset? The Self-Taught Computer Scientist is for you.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
The Self-Taught Computer Scientist è disponibile online in formato PDF/ePub?
Sì, puoi accedere a The Self-Taught Computer Scientist di Cory Althoff in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatik e Programmierung in Python. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Editore
Wiley
Anno
2021
ISBN
9781119724339
Edizione
1
Argomento
Informatik

II
Data Structures

  1. Chapter 8: What Is a Data Structure?
  2. Chapter 9: Arrays
  3. Chapter 10: Linked Lists
  4. Chapter 11: Stacks
  5. Chapter 12: Queues
  6. Chapter 13: Hash Tables
  7. Chapter 14: Binary Trees
  8. Chapter 15: Binary Heaps
  9. Chapter 16: Graphs
  10. Chapter 17: Self-Taught Inspiration: Elon Musk
  11. Chapter 18: Next Steps

8
What Is a Data Structure?

Algorithms + Data Structures = Programs.
Niklaus Wirth
A data structure is a way of organizing data in a computer so programmers can effectively use it in their programs. Throughout this book, you've already used some of Python's built-in data structures such as lists and dictionaries to search data, sort data, and more. This section of the book will teach you more about data structures and how to use them. You will also learn about new types of data structures you may not be familiar with yet, such as arrays, linked lists, stacks, queues, trees, heaps, graphs, and hash tables. Each of these data structures has advantages and disadvantages. The best data structure to use in a program depends on what type of problem you are trying to solve and what you are trying to optimize for. In Part II of this book, you will learn about the pros and cons of different data structures so that when you are building applications, you can decide what the best data structure to use will be. Plus, you will learn how to answer the most common questions interviewers ask about data structures so that when it comes time for you to go through a technical interview, you will pass with flying colors.
You cannot be a great programmer without a solid understanding of data structures because programming means writing algorithms and choosing the right data structure to go with them. That is why Niklaus Wirth famously wrote, “Algorithms + Data Structures = Programs.” The algorithm tells your computer what to do, and your data structure tells your computer how to store the data from your algorithm. Linux Torvalds, the creator of Linux, stressed the importance of data structures even more with his famous quote, “I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” I want you to be a good programmer, which is why I will focus on teaching you about data structures for the remainder of this book.
An abstract data type is a description of a data structure, whereas a data structure is an actual implementation. For example, a list is an abstract data type: it describes a data structure that holds a group of items where each item has a position relative to the others. A list also has operations to manipulate its items, like adding and removing them. When you use a Python list, you are using a data structure, not an abstract data type, because a data structure is the actual implementation of an abstract data type. For example, Python could have two different list data structures, implemented in entirely different ways, both based on the list abstract data type.
Co...

Indice dei contenuti