Khanacademy has some good resources, seemingly, including teaching Big-O notation. Also, if you are familiar with a programming language in particular, Rosetta Code can give you an example of the algorithm in that language.<p>But in my experience (which should be taken with a grain of salt, as a person who never took cs and never took calculus), understanding algorithms doesn&#x27;t take a lot of math, just a bit of persistance in understanding how they work, and a dash of common sense. The hardest math is that behind calculating big-O for time and space, which can again be approximated for most simple algorithms with a bit of common sense. This (<a href="http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;487258&#x2F;plain-english-explanation-of-big-o" rel="nofollow">http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;487258&#x2F;plain-english-expl...</a>) stackoverflow is probably the best explanation I&#x27;ve seen.<p>SOME ALGORITHMS TO KNOW:<p>-Quicksort<p>-Mergesort<p>-Binary Search<p>-Searching a single-linked list<p>-Hashtable insertion&#x2F;deletion<p>-Djkstra&#x27;s Algorithm<p>-Heap Sort<p>-Huffman Encoding<p>You don&#x27;t have to know all of these, and the difficulty of understanding varies, but these are important, and a good place to start.