How can I tell if an algorithm is efficient? [closed] - c++

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
Relatively new to C++ but I am very interested in the algorithmic aspect of programming.
Is there a general framework for deciding if an algorithm is efficient? i.e. the quickest possible?
I am trying to write pseudocode on paper before implementing but there are probably many different ways to solve any given problem.
Would be very keen to learn best practice for constructing / analysing algorithms.
Thanks, and Happy New Year!

Yes you can start with the Wikipedia article explaining the Big O notation, which in a nutshell is a way of describing the "efficiency" (upper bound of complexity) of different type of algorithms. Or you can look at an earlier answer where this is explained in simple english

Related

Is it good to have an idea about the STL before studying Data Structures? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm currently self-studying C++ and I'm about to finish my OOP course, till now, I've finished the OOP concepts but the course also includes an introduction to the STL, but I feel like it's too early to have a look on the STL at this stage(before studying Data Structures).
Is it a good idea to skip the last part of the OOP course and start studying Data Structures right now? or should I complete the course anyway?
In my opinion, if you already can understand OOP principles you should use STL and do not care how it really works under the hood, but after that, you should learn basic data structures and all will come clear for you.

What is zero overhead principle in C++? Examples? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
When I am reading design goals of C++11, it mentioned about zero-overhead principle without any examples or features which uses this principle. I can understand that it could be there to avoid degrading existing code performance. But,
Can someone explain this concept with some examples?
Approach they made to implement such a feature in the standard?
How they enforce compiler-writers to implement this?

Interesting Uses of STL Algorithms [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I apologize because I know in advance this question may be closed. I know it is not an essentially technical question, but it is one that could be meaningfully answered by experienced c++ programmers.
I am teaching a C++ class for programming students and, naturally, I will be covering the STL algorithms. I was trying to think of examples I could give in lecture that would be really cool applications of STL algorithms that make fairly complicated code really simple. I know some people here have ridiculously more C++ experience than I do so I was wondering if you could think of some interesting/exciting applications of the STL algorithms that could be done via loops and functions, but are really easy and concise using the stl algorithms.
Some of my examples:
Check if palindrome: Made really easy with equals(s.begin(), s.begin() + v.size()/2, s.rbegin())
Tokenize string into vector: Easy with copy(istream_iterator<int>(cin), istream_iterator<>(), back_inserter(data))
Permutations: Classic recursive problem made easy by stl algorithms
Sorting: This one is obvious but also not very interesting (i.e. it's not a cool application of <algorithm> for students)

How can I improve my OOP? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I'm writing this after doing searches and not finding much useful answers. I know the basic of programming, like context (loops, conditionals), basic ideas (classes, instances, inheritance.) and I'd like to improve on my OOP. The thing is when I look at open source projects, they seem very overwhelming because there is so much going on. How can I improve and learn the concepts of OOP without jumping into a huge project. I'd like to go in steps because I always learn best when things are broken down and not thrown at me all at once. Are there any resources you can share? Or any advice in general would be really appreciated. I want to take the next step, but just don't know where to begin. How did you guys go about improving your skills, how did you take the next step? Right now I'm focused on C++ and Ruby.
OOP is an idea and doesn't depend on your programming language.
You can learn various design patterns to improve your OOP.

What can be Questions and Answers for Interview on job position on Objects Recognition and Computer Vision? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
What can be Questions and Answers for Interview on job position for objects recognition and Computer vision?
Please only Qs with links to As.
Please keep being on topic (no general Qs).
I would let the interviewee describe a computer vision project she worked on: What was the problem? What approaches did she try? What did and whad didn't work? Why didn't it work? How did she measure if something worked or not?
The idea is to find out if the person in question only uses blind trial-and-error to get results, which is usually not a good strategy for complex problems. (Also, it's hard to convincingly fake this kind of knowledge ;-)