Perhaps I have a misunderstanding on what the book’s intention.
I am under the assumption from:
A book that teaches you the fundamental tools of implementing key data structures in Kotlin, and how to use them to solve algorithms.
This book is meant to be both a reference and an exercise book...It’s a great book to start preparing for whiteboard interviews and an excellent reference to come back to when you need to optimize some code.
- The intention is to cover & familiarize common Data Structures in written in Kotlin.
- How their used to solved algorithms
- When to use them instead of another
- Book is ideal for
- those familiar with Kotlin but haven’t taken a DS&A course
- familiarize themselves with them in Kotlin
- people who typically program in Kotlin but could use a refresher on their data structures
The book does a great job introducing you to each structure by building them out, but it feels that’s all it’s doing. There is no real message as the book continues (currently Finished Ch.10 Tries) that break down when to use this type of algorithm over another.
In my opinion, the fault here lies in the Challenges provided. The challenges lack the purpose of actual use in algorithms. I do find the challenges that lean towards solving on paper or asking to explain the difference (such as challenges in Ch.5 Queues). However, when testing out my knowledge on coding challenge sites, I’m immediately stumped. Sure I can now create these Data Structures from scratch, but using them to build an algorithm to solve a problem… when, how? That’s where this book doesn’t deliver and could with an update to at least a challenge per chapter. (again, my opinon… but…) There’s HUGE potential for this becoming a go-to DS&A book for Android Developers & others using Kotlin
I haven’t opened the other DS&A books offered here, but if they have the same issue, perhaps it would be a good opportunity to add the same challenge questions for ease on the writers + coming up with algorithm questions & tests?
As of now, I’ll be recommending this to people who have practiced DS&A in another language and want to see implementations in Kotlin, but not to those looking to learn DS&A without prior experience(this is where I fall in).