You can very difficultly obtain a true irrecoverable deletion of data. This is not related to algorithms but to physical properties of storage media.
You can only hope to reduce the risk (or opportunity) of the data being recovered. And the risk depends on the means that the recoverer has at its disposals.
A concrete example is hard drives: magnetic remanence creates a risk of undesired traces around the magnetic track. Writing random data several times reduces significantly the risk. However very powerful people having atomic microscopes and plenty of patient skilled staff at their disposal could still recover (at disproportionate costs) some data that you could no longer recover with ordinary reading heads.
Another example are solid state disks, that try to reduce reuse of storage elements to increase their life time. You never overwrite anything unless you manage to fill the disk.