The Self-Taught Computer Scientist


Introduction to Algorithms


Download 1.48 Mb.
Pdf ko'rish
bet68/147
Sana17.06.2023
Hajmi1.48 Mb.
#1540634
1   ...   64   65   66   67   68   69   70   71   ...   147
Bog'liq
books-library.net-11301817Az7X6

Introduction to Algorithms
80
One of her team’s most significant accomplishments was developing a system that could alert the 
team about emergencies. This process was a critical part of the moon landing’s success and benefited 
greatly from Hamilton’s insistence on rigorous testing. Dr. Paul Curto, who nominated her for a NASA 
Space Act Award, said her work comprised the “foundation for ultra- reliable software design” because, 
to date, no one has found a bug in the Apollo software.
On November 22, 2016, President Barack Obama awarded Hamilton the Presidential Medal of 
Freedom to recognize her outstanding software engineering achievements and cementing her position 
as one of the greatest self- taught programmers of all time.


II
Chapter 8: 
What Is a Data Structure?
Chapter 9: 
Arrays
Chapter 10: 
Linked Lists
Chapter 11: 
Stacks
Chapter 12: 
Queues
Chapter 13: 
Hash Tables
Chapter 14: 
Binary Trees
Chapter 15: 
Binary Heaps
Chapter 16: 
Graphs
Chapter 17: 
Self- Taught Inspiration: Elon Musk
Chapter 18: 
Next Steps
Data Structures



8
What Is a Data Structure?
Algorithms + Data Structures = Programs.
Niklaus Wirth
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 struc-
tures 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.



Download 1.48 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   147




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling