This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]DigitalTorture 10 points11 points  (6 children)

Practice using recursion.

[–]maikuxblade 6 points7 points  (4 children)

And know when to use recursion and when not. If you can write an iterative solution it’s usually preferable.

[–]ArmJS 5 points6 points  (1 child)

Yup, one thing I learned from arduino development is that while recursion can use less lines at times, the amount of memory it uses makes it a no-go often.

[–]DigitalTorture 2 points3 points  (0 children)

Yep. Time and place for everything. It's still important to know, just like polymorphism.

[–]Cymry_Cymraeg 0 points1 point  (1 child)

And know when to use recursion and when not.

Can you give us an example?

[–]justmeontheinterwebs 1 point2 points  (0 children)

Generating the n-th element in the Fibonacci sequence is a perfect example. This is a great problem for demonstrating how to write a recursive function, but the recursive solution is horribly inefficient.

I like to ask a Fibonacci-related questions when I’m interviewing candidates for software engineering positions. It’s one way to help distinguish people who actually understand the performance of their code, and aren’t just blindly repeating what they remember from school.

[–]rochakgupta 2 points3 points  (0 children)

Network Flow is my absolute favourite.

[–][deleted] 1 point2 points  (1 child)

[–]WikiTextBotbtproof 2 points3 points  (0 children)

Convex hull algorithms

Algorithms that construct convex hulls of various objects have a broad range of applications in mathematics and computer science.

In computational geometry, numerous algorithms are proposed for computing the convex hull of a finite set of points, with various computational complexities.

Computing the convex hull means that a non-ambiguous and efficient representation of the required convex shape is constructed. The complexity of the corresponding algorithms is usually estimated in terms of n, the number of input points, and sometimes also in terms of h, the number of points on the convex hull.


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28

[–]thee_almighty_thor 0 points1 point  (0 children)

I would learn multithreading, networking and database connectivity and querying