CST370 Week 1

This week I was introduced to the foundations of algorithms and data structures, with a particular emphasis on Euclid’s algorithm for finding the greatest common divisor (GCD). At first, the concept of an algorithm felt very broad, but working through Euclid’s method made it more concrete. I learned that algorithms are essentially step by step procedures that can be expressed clearly in pseudocode or implemented directly in code. Euclid’s algorithm stood out because of its elegance and efficiency. Instead of relying on factorization, which can be tedious, the algorithm repeatedly applies the modulus operation until the remainder is zero. This shows how a simple mathematical idea can be transformed into an efficient computational process.

I also explored variations of GCD calculations and saw how different problem solving approaches can be compared in terms of efficiency. That led into the idea of algorithm analysis, which focuses not only on correctness but also on performance. I began to understand that measuring the time and space requirements of algorithms will be a recurring theme throughout the course. Alongside algorithms, the review of fundamental data structures like linked lists, stacks, queues, graphs, and trees highlighted how the way we organize data has a major effect on how efficiently algorithms can operate.

The main challenge I anticipate is balancing abstract mathematical thinking with implementation details in code. Euclid’s algorithm was straightforward once explained, but I expect more complex algorithms will require both careful reasoning and practice in coding. I plan to tackle this by reviewing pseudocode examples and steadily building my comfort with algorithm analysis techniques.

Comments

Popular posts from this blog

CST Module 4 January 29th - February 4th

CST300 Module 1 January 8th - January 14th

CST Module 3 January 22nd - January 28th