A rubik's cube is hardly complex. You can solve it with only 7 algorithms.
I believe that the best way of learning is by tailoring the material to your learning style. If it's something that comes naturally to you, you'd probably be able to learn it using any method. If it isn't, learning will be much easier if you make it something that you will be most easily able to work with.
Are you a visual person? I am very much a visual/conceptual learner. So if I really, really need to learn something, I first write detailed notes from text. Then I read the notes multiple times, and draw diagrams and mind-maps that illustrate to me my understanding of the material. With the detailed diagrams and mind-maps, once I'm reasonably sure of the material, I move up one degree, and make the "simple" mind-maps that give the overall view and relate what I've learnt to other concepts and material.
So, given my simple, undetailed mind-map, I should be able to (in my mind) move up and up into varying degrees of detail and complexity.
If you're an audio learner, record your lectures and listen to them over and over again. Talk to people about what you're learning. Talk to yourself about what you're learning. Read things out when you're revising.
If you're a tactile learner, practice over and over again. Make physical models that illustrate the principle. Actually do experiments that show the theory. Or write, over and over again, what you need to remember. Even if you don't have your visual notes with you, your body will remember writing it.
Sometimes, combining the different approaches will be a lot more effective. And repetition really does help, especially for things like math.