Here are a few suggestions that I have and the ones that I've read:
For a Bitcoin beginner:
1) The Internet of Money by Andreas M. Antonopoulos - A good book for beginners who find it hard to cover up and understand the technical parts of Bitcoin mentioned in the book - Mastering Bitcoin by Andreas himself. I suggest you read this book first and it should really get you to understand the basics of Bitcoin and its purpose.
2) Digital Gold: Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Money by Nathaniel Popper - It provides a historical viewpoint of events and enterprenuers setting up their start ups and the overall story of Bitcoin and how it evolved. It has a good bunch of stories about prominent startups their success and failiures towards the end. Good read if you like Bitcoin documentaries.
For a technical explanation:
1) Mastering Bitcoin by Andreas M. Antonopoulos - Tells you things from Private keys, public keys, explains you how to use the Bitcoin core client about the protocol and future enhancements like the lightning network. This is just a brief, it covers in-depth a lot of topics and this is open source.
https://github.com/bitcoinbook/bitcoinbook2) Bitcoin and cryptocurrency technologies by Prinston University -
http://bitcoinbook.cs.princeton.edu/ (This is going to be my next read right after I complete reading Mastering Bitcoin)