couldn’t you always just run a Linux VM at near-native speed, and get the benefits of both?
The obvious downside is that Linux is no longer the host OS. MacOS or Windows would be closed source code managing your hardware. And any VM could only be as fast as the host OS allows it to be.
There are plenty of good resources online. Here are some topics you probably wouldn’t see in an intro algos course (which I’ve actually used in my career). And I highly recommend finding the motivation for each of these in application rather than just learning them abstractly.