سلام به نظرم هدفی که صرفا از خوندن یه کتاب دارید هنوز گنگه... اول خیلی خوب باید ساختماندادهها رو درک کرده باشید. به نظرم یه کتاب برای اون در ابتدا مطالعه کنید؛ بعد از اون سراغ طراحی الگوریتم بیایید. توی دانشگاهها خیلی مواقع کتاب «طراحی الگوریتم ها/ریچاردنیپولیتان/کیومرث نعیمی پور» تدریس میکنن. خیلی مفصل توضیح داده البته دقیق نمیدونم چه پیشنهادهای مشابه بهتری هم وجود داره چون زیاد خاظرم نیست. یه کتاب هم بود اون موقعها که ساختماندادهها و طراحی الگوریتم رو جامع توی یه کتاب توضیح میداد و اون خیلی خوب بود ولی عنوان و نویسندهش رو فراموش کردم. حالا بعد از اینها تازه بیاید سراغ اصول Clean Code و SOLID...
شاید دوستان دیگه منابع بهتری هم بشناسن صبر کنید پیشنهاد اونها رو هم بررسی کنید.