Learning Problem Solving using Algorithms and Data Structures

The place for chatting and discussing subjects unrelated to Wesnoth.

Moderators: Forum Moderators, Developers

Post Reply
User avatar
ForPeace
Posts: 74
Joined: December 12th, 2015, 3:09 pm
Location: Kraków, Poland

Learning Problem Solving using Algorithms and Data Structures

Post by ForPeace »

Currently, I'm studying Computer Science. In February I will begin an Algorithms and Data Structures course.
My question is targeted towards more experienced coders here. What, in your opinion, is the best way to master A&DS? By mastering I mean not only understanding how a certain algorithm works, but more importantly, knowing how to use it in order to solve difficult problems.
ForPeace (ladder) | sxpg (lichess)
Jeżeli jesteś polskim graczem, dołącz do wesnoth.com.pl

Tad_Carlucci
Developer
Posts: 499
Joined: April 24th, 2016, 4:18 pm

Re: Learning Problem Solving using Algorithms and Data Structures

Post by Tad_Carlucci »

The purpose of the course is to learn how to approach problems, using established methods and processes. First, you need to learn what are some of the more common tools like arrays, linked-lists, trees, etc. (the Data Structures part) and what are common ways to handle common problems like sorting and searching (the Algorithms part). You can learn the basics for them in a few classroom hours but if you don't know the trade-offs and pit-falls you won't be able to judge when a given approach might be better than another.

The big issue is not, for example, to be able to properly code a depth-first search through a tree structure, it is to know when you would want to do that, when you would not, what issues it solves and which it can cause, and ... this is the biggie ... when it's the closest approach to what you need (but not quite), why it's the best base to start from, and what you'll need to do to make it fit the actual problem.
I forked real life and now I'm getting merge conflicts.

Post Reply