Hi there,
I had the same problems, and it`s due to over feeding and poor quality water.
If you feed to much, this will lead to more ammonia, nitrite, nitrate. It`s this excess which results in algae! Plants use nitrate to grow, but an excess will inevitably result in algae blooms.
The slimy green 'algae' is actually bacteria. This shows up again when water quality is low.
My advice would be to:-
1. Check your filter to make sure there are no blocked pipes/strainers or change filter pads if haven`t done so recently.
2. Cut back on the amounts you feed. I used to feed my snakeheads daily. I now feed twice or rarely 3 times a week!
3. Increase % of water at water changes i.e.From 30% to 50% or do more frequent w/c.
4. Consider getting a bigger tank. 10 gallon is to small perhaps.
5. Use a weaker light bulb (less watts) or cut the amount of hours per day the light is on.
6. Try adding some floating plants to your tank. These will help with the nitrate problem and the light problem, plus they look nice.
Snakeheads HATE water changes, so I only change about once every 2~3 months!! But by feeding less my algae problem is now under control. Try a combination of the points I`ve mentioned, and I`m sure you`ll see a difference.
I`m not sure about the spatterdock thing, but s/dock grows BIG so probably not an option. Egelia densa does (so I`ve heard) have these algae 'busting' properties and I would recommend this. It`s cheap and grows fast (eating nitrates). It doesn`t need planting, just 'throw' it in.
Good luck!!