There is a record:
45 * * * 1 script.sh
45 0-23 * * 1 script.sh
The desired effect is to run the script 45 minutes after every hour on Mondays.
Are they identical? If not, what is the difference?
Yes, they are identical.
I'd suggest the first syntax as it is more concise.
They both work. However, I would personally prefer:
45 * * * mon script.sh
As it is more readable, and more immediately understandable without having to remember which day of the week is '1'.