← All notes

CS50

Work Projects

  • I have two projects that I need to wrap up at work.
  • Once I finish them, I'll finally have some free time to focus on other things.

Data Engineering Studies

  • This weekend, I feel like I’ve made real progress and I’m 100% done with the first theme of my project.
  • I’ve decided to build a data pipeline focused on Twitch. It’s a topic that interests me, and I think it’ll be a fun challenge.
  • For now, I’m not planning to do any data analysis or machine learning. My main goal is to create a solid and consistent pipeline that handles the data efficiently.
  • I’m not sure if this project will be useful in the long run or if I’ll find ways to expand on the theme, but I’m excited to give it a shot and see where it goes.
  • Even if it doesn’t lead to something big, I know I’ll learn a lot from the process, and that’s what really matters.

CS50

  • At the moment, I’ve finished week 0 of this course, and I need to complete the project.
  • In the second half of this class, we dive deeper into algorithms and how to approach problem-solving when programming.

Linked Lists

  • Linked Lists are a bit different from arrays because they don’t need to be stored in contiguous memory.
  • In a Linked List, we have a pointer to the first element, but we don’t know the total size in advance.
  • Pointers connect elements to each other. If each element points only to the next one, it’s a singly linked list. If elements point to both the next and previous elements, it’s a doubly linked list.

Big O Notation (Worst cases always)

Linked Lists - Big O Notation

Worst Case

  • Search: O(n)
  • Insertion: O(n)
  • Deletion: O(n)

Best Case

  • Search: O(1)
  • Insertion: O(1)
  • Deletion: O(1)