Académique Documents
Professionnel Documents
Culture Documents
In the early days of computing, with very limited computer memory and processor
speed, clever programming was needed. Programmers had to pay close attention
to how their programs used the scarcely available resources. This might not be
needed today for many applications, but for many it is still as important as
ever. Commercial libraries can not replace a good algorithmic knowledge in the
programming team.
Our expectations and demands seem ever increasing. New computational areas
require very sophisticated solutions. Search engines like Google, internet
stores like Amazon are examples, as is sequencing the entire genome of
organisms. New and faster hardware will of course help to speed up computations.
Finding better combinations of algorithms and data structures might result in
even larger performance increase. Parallel and distributed computing adds power
---and additional challenges.
The choice of algorithms and data structures is also important at the other end
of the spectrum, for example in phones and embedded systems where memory or
processor speed is limiting factors.
There are several journals and many conferences devoted to the study of
Algorithms. Theoretical research in the field is today quite specialized and
often requires advanced mathematics. Application areas are rich sources of
algorithmic challenges that can lead to practical (and possibly theoretical)
contributions.
A good starting point for thesis work on algorithms and data structures is a
well-selected and interesting application area.
Contact: Bengt.Aspvall@bth.se
Analysis of algorithms
Analysis of algorithms
Contact: Bengt.Aspvall@bth.se