In the last lesson, we learned about stacks and queues. To initially construct both data structures, we used a Python list. Additionally, we learned that you can simulate a queue by removing elements from the beginning of a Python list, or "top" of a queue, and adding new elements to the end of the list, or the "bottom" of the queue.

While a queue can be used as a list, it is not especially efficient. The reason for this is due to how lists are implemented under the hood. In this lesson, we'll build on your knowledge of algorithms and data structures and discuss how to effectively use arrays and lists. We'll also use arrays and lists to process stock price data.

In this lesson, you will learn everything about using arrays and lists: how to profile each data structure, the pros and cons of each, as well as how to construct your own implementation from scratch so you can get an intuition of how each data structure works.

In addition to using arrays and lists to process stock price data, you’ll get to apply what you’ve learned from within your browser;t there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer-checking to ensure you've fully mastered each concept before learning the next.


  • Learn how to sort an array using selection sort.
  • Learn how to sort an array using bubble sort.
  • How to profile both sorting algorithms.

Lesson Outline

1. Arrays and Binary
2. Arrays and Lists
3. Array Pointers
4. Array Pointers
5. Implementing An Array
6. Resizing The Array
7.  Linked Lists
8.  Indexing a Linked List
9. Inserting Into a Linked List
10. Removing from a Linked List
11. Arrays vs Linked Lists
12. Takeaways

Take a Look Inside