+ 18
[ALGORITHMS]What are the ways to create my own algorithms
What I all did in programming is just understanding the basics of program So I have to dive into algorithms/complex ones too But before that I need a way to improve the basics of algorithms like including mathematics logic , Scientific calculation So what is the method to be taken to learn algorithms in step wise Yea I googled but rather seeing a post, I need answers from experienced person so it will be helpful for me and others who interested in learning here
6 Réponses
+ 16
These are a few resources for you to get started.
i. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/
ii. http://www.cs.princeton.edu/~wayne/kleinberg-tardos/
iii. http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms
You'll get familiar with concepts like algorithm analysis (e.g. time complexity), different kind of algorithms (e.g. greedy algorithms) etc.
An algorithm actually is a way (methodology), which consists of certain and finite steps, used to solve a problem. For example when you go out for shopping you take the shortest path to the shops. In this case you use Dijkstra's algorithm even if you don't know it. Also, recursion is based on "divide and conquer" kind of algorithms.
Conclusion, there is no certain methodology to be taught for creating algorithms. Moreover, the most important thing is not just to find an algorithm but to prove its efficiency.
Good luck on your journey!
+ 11
Thanks to both of you guys Manos Manik and Mia Idrissou
+ 8
Just take a problem you want to solve. Break it down into a set of smaller steps and you have yourself an algorithm. For the basic maths logic and scientific calculations, you need some background, e.g. from school or elsewhere such as online or a library.
+ 6
Look into control and data structure concepts. Familiarity of principles of object oriented programming are important
+ 5
Well, you need to practice.. take problems and implement the solution..
I don't know you can start small like write an algorithm that solve standard school math problems..
The thing is algorithmic is a tool to do others things.. you need to know what do you want to use it for..
+ 5
if youre studying algorithms, youll also need to understand abstract data structures(ADT) i.e. arrays, stacks, queues, linked lists, trees and graphs . as each algorithm has its preferred structure.
you should also take time to understand the different types of algorithms. i.e. brute force, recursive, iteration, greedy, branch and bound, back tracking, divide and conquer, dynamic. you should also know which about the various algorithm problems such as travelling salesman problem, knapsack problem, nqueen problem, and know which algorithms are suitable for the job.
the most basic types of problems algorithms solve are search and sort. so you could start with that. some easy algorithms to implement are brute force(password combination), recursion (fibonacci) and greedy(knapsack).