○ New Things I Learned
Learned why data structures and algorithms are crucial in computer science.
Understood the notations O, Ω, and Θ used for representing the order (number of operations required to solve a problem), and why Big-O notation is especially important.
Gained a clearer understanding of pseudo-code (or Pseudo-Code), and why logarithmic complexity such as log₂(n) is often used.
○ Why Are Data Structures and Algorithms Important?
Data structures and algorithms are essential in designing any software or program.
Data Structure: What structure should be used to store and manage the data? / Algorithm: How can we solve the problem efficiently?
Structuring data enables computers to apply algorithms efficiently. These structures are reusable across various programs (generality), and users can use them without knowing the internal implementation (abstraction).
A strong foundation in computer science (i.e., algorithmic thinking) is a must for becoming a competent developer in any field. It is especially important in hiring for entry-level positions, internships, and jobs at large or global companies that often include algorithm tests.
○ Algorithm Complexity Analysis
To write efficient algorithms, we must be able to analyze their complexity.
Although measuring execution time is intuitive, it’s not always practical. Instead, we use a concept called "order" that approximates the number of operations.
Big-O (O): Upper bound (worst-case performance) / Big-Omega (Ω): Lower bound (best-case performance) / Big-Theta (Θ): Tight bound (average-case performance)
- In practice, Big-O is most commonly used because systems must be designed with the worst-case scenario in mind. Designing based on the best case is unrealistic.
○ What is Pseudo-Code?
Pseudo-code is a commonly used way to describe algorithms — it presents the core logic in a way that’s easy for humans to understand.
Although it can't be executed directly, it helps visualize the steps of an algorithm clearly. Once understood, it can easily be implemented in any programming language.
Since it is not bound to any specific syntax, there is no strict grammar. However, there are conventional styles that make it readable — you can think of it as the "body language" of the computer science world.
Top comments (0)