It takes 48 hours from the time a player is waived for them to be eligible to be signed by another team. I'm assuming that a player needs to be formally "waived" during business hours, whatever those might be for the NBA offices. The caveat to this is that if a player is traded away from his team, and is waived by his new team, then he must wait 30 days to sign with his original team.
Being waived and being bought out are similar. Players who are waived are entitled to recovery the entire guaranteed amount of their salary; players who are bought out can recover that amount which they and their team have agreed to. In both instances, players are subject to waivers, and must wait 48 hours to sign with their new team.
We could sign and waive any player that agrees to a contract, although that's not always the best way to do business with players and their agents. Another alternative is signing a player to a 10-day contract, which would then be allowed to expire. It's unlikely that any of the quality players on the market would agree to a 10-day contract, but you never know.