The Self-Taught Computer Scientist
Introduction to Algorithms
Download 1.48 Mb. Pdf ko'rish
|
books-library.net-11301817Az7X6
- Bu sahifa navigatsiya:
- Chapter 17: Self- Taught Inspiration: Elon Musk Chapter 18
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 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 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. |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling