I am applying to a top tier ML/Data-Science Conference and I feel that I might have a higher probability getting accepted in the call for workshops over the call for papers. Can I submit the same idea/algorithm to both the call for papers and the call for workshops?
Well, since papers are generally for finished work, and workshops are for improving work in progress, it might be looked at as an odd situation. If you submit a paper for what you have done already and a workshop proposal that is related, but, perhaps, an extension to the other then it would be more natural.
So, in the exact form you suggest, I'd recommend not, but a variation might work out for you. A workshop is also valuable in that it would put you in contact with other researches with similar interests.
It really depends on the conference and the workshop. Some workshop chairs (myself included) will not accept papers that are already accepted to the conference itself. This is because of a preference towards showcasing works from sister conferences. However, the practice is not in itself frowned upon in my field.
Workshops often set the workshop submission deadline after the acceptance notification deadline of the conference itself: this is done in order to ensure that people who submit workshop papers don't retract them because they can't travel without an accepted paper in the main conference, and to let people submit their work there. Thus it's not really that common (at least in my field) to see close deadlines for the conference and colocated workshops.
Multiple submission policies are generally spelled out very explicitly in the submission guidelines. Read them carefully and see if they answer your question. If not - the best thing would be to email the conference/workshop chairs and ask.