This course is about algorithms running times and complexity theory. In order to be able to classify algorithms we have to define limiting behaviors for functions describing the given algorithm. Thats why big O, big theta and big omega came to be. We are going to talk about the theory behind complexity theory as well as we are going to see some concrete examples. Then we will consider complexity classes including P as well as NP. These concepts are fundamental if we want to have a good grasp on data structures and graph algorithms, so these topics are definitely worth considering. Hope you will like it!
My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.