- Published on
สรุปเนื้อหาจากหนังสือ Grokking algorithms | prologue
- Authors
- Name
- Panuwat Boonrod
- @nilpanuwat
Overview
เนื่องจากในช่วงนี้ผมเริ่มหันกลับมาทบทวน เรื่องของ Data structure & Algorithms (DSA) มากขึ้นอีกครั้ง เพราะเรื่องนี้ค่อนข้างเป็นเรื่องที่มีความสำคัญมาก ในการเขียนโปรแกรม (ในขณะที่คนอื่นเขาไปAI กันหมดแล้วว) จึงลองไปเดินหาหนังสือที่จะช่วยอธิบายในเรื่องของ DSA แบบที่เข้าใจง่ายๆ ไม่ซับซ้อน ไม่อยากได้แบบที่มีตัวหนังสือ เต็มหน้ากระดาษ และ ไม่อยากได้แบบที่มีแต่ กราฟ หรือ code example เยอะๆ
เลยได้มาเจอเล่มนี้(หลายๆท่านอาจจะเคยอ่านมาบ้างแล้ว เพราะน่าจะออกมาซักพักแล้ว) เห็นหน้าปกแล้วรู้สึกว่าค่อนข้างเป็นมิตร เลยลองเปิดอ่านดู
พบว่า เป็นมิตรจริงๆ ทั้งอธิบายเรื่อง Big O Notation แบบเข้าใจง่ายๆ, อธิบายเรื่อง Liner search vs Binary search ในรูปแบบของ รูปภาพ ยกตัวอย่างแบบง่ายๆ ให้เราเกทแบบ ถ่องแท้ มากกว่าการท่องจำ หรือ จำโค้ด
จากที่เกริ่นมาซะยาวเนี่ย ผมจะขอมาสรุปความเข้าใจ เรื่องราวที่ผมได้อ่านจากหนังสือเล่มนี้โดยจะไม่ลง code เลย จะเน้นไปในทาง ทฤษฏีมากกว่า ให้เข้าใจ concept และนำไปต่อยอดเอง โดยในแต่ละ EP โดยจะมีเนื้อหาคร่าวๆดังนี้
- Big O notation | Linear search vs Binary search | Time complexity
- How memory works ? | Selection sort
- Recursion | Quick sort
- Hash tables
- Bread-first-search
- Depth-first-search
- Balanced Trees
- Dijkstra’s algorithm
- Greedy algorithm
- Dynamic programming
เนื้อหาแบบคร่าวๆ ที่คาดไว้มีประมาณนี้ โดยจะแบ่งมาเขียนเป็น หลายๆ EP ครับ โดยใน EP หน้า จะเริ่มด้วยเรื่องพื้นฐานที่สุดเลยคือ Big O Notation ว่าคืออะไร และทำไมเราต้องทำความเข้าใจกับสิ่งนี้ด้วย
หากใครสนใจ ไปตำกันได้ที่
- Kinokuniya https://thailand.kinokuniya.com/
- Amazon https://www.amazon.com/
Thanks for reading !