In order to create Efficient Algorithms, you must start from bottom. Learn the important concepts of problem solving and Software engineering. And then use the knowledge you gain to create your own algorithms. Algorithms are essential part of computer science and programing. Every program is executing some Algorithm. So it is important to know how to create efficient algorithms.
I think every programmer expierienced null pointer exception or something like that. These errors are not created by “not knowing the programming language” but they are created because the algorithm is incorrect. So what do you think is more important, Algorithms or programming language ?
By learning Software engineering concepts. You will be able to create algorithms. Ofcourse it takes also practice, but learning software engineering is first step to better algorithms and better analythic thinking.
In this course I will go through Software engineering ( algorithms and data structures, problem solving)
In Sorting Algorithms section you will learn:
- Selection Sort
- Bubble Sort
- Merge Sort
- Quick Sort
In Data Structures section you will learn:
- What is Data Structure
- Binary Search Tree
- AVL tree
- Linked List
- Hash Table
In Problem Solving section you will learn:
- Divide and Conquer
- Dynamic programming
- Greedy Aproach
And I will explin these techniques on:
- 0-1 Knapsack problem
- Kruskal’s algorithms
So do you want to learn software engineering ?
Share with your friends :