เลือกหัวข้อจากแถบเมนูด้านซ้าย (กรณีหน้าจอเล็กเมนูจะหดกลายเป็นสัญลักษณ์สามขีดอยู่ในแถบเมนูด้านบน) หรือใส่คำค้นหาที่ช่องด้านล่างนี้ เพื่อค้นหาหัวข้อบทความหรือ Tutorial เกี่ยวกับเรื่อง path ที่ต้องการ
กราฟเป็นการเก็บข้อมูลในอีกรูปแบบหนึ่งที่เก็บข้อมูลไว้และมีการเชื่อมต่อกับข้อมูลถัดๆไปคล้ายกับต้นไม้คือมีลักษณะไม่เชิงเส้น (non-linear list) แต่กราฟก็ต่างจากต้นไม้เช่นเดียวกันเพราะในขณะที่กราฟมีลักษณะพ่อมีลูกได้หลายตัวแต่ลูกมีพ่อมีพ่อได้แค่หนึ่งเดียว ในขณะที่กราฟนั้นไม่มีข้อจำกัดเรื่องนี้ กล่าวคือมีตัวก่อนหน้าและตัวถัดไปอย่างไรก็ได้...
Read More →Python Delete File การลบไฟล์ ในการลบไฟล์ นักเรียนจะต้องimportโมดูลระบบปฏิบัติการของนักเรียนเองและเรียกใช้ฟังก์ชัน os.remove () ตัวอย่าง ลบไฟล์ "demofile.txt" importos os.remove("demofile.txt") ตรวจสอบว่ามีไฟล์อยู่หรือไม่ เพื่อหลีกเลี่ยงError อาจจะต้องตรวจสอบดูก่อนว่ามีไฟล์นั้นอยู่ไหมก่อนที่จะลบมันทิ้ง ตัวอย่าง ตรวจสอบว่ามีไฟล์อยู่หรือไม่ ก่อนจะลบมันทิ้ง importos os.remove("demofile.txt") ...
Read More →การปรับเส้นทางอัจฉริยะเป็นหัวใจของการพัฒนาโปรแกรมและเทคโนโลยีที่ใช้ในการแก้ปัญหาทางด้านความร่วมมือและรายละเอียดในการบริหารจัดการข้อมูล การปรับเส้นทางอัจฉริยะล้ำหน้าที่สุดประกอบด้วยการรับรู้ปัญหาและการวิเคราะห์มันอย่างละเอียดเป็นระเบียบ และการเรียนรู้จากประสบการณ์ ซึ่งประสบการณ์ยังนำพาเข้าสู่ความใช้ใจในการสร้างโปรแกรมที่มีประสิทธิภาพสูงสุด ในบทความนี้ เราจะสอดคล้องกันเกี่ยวกับ การปรับเส้นทางอัจฉริยะด้วยต้นไม้ค้นหาแบบไบนารี หรือ Binary Search Tree และเปรียบเทียบความดีเสียด้านความสามารถและประสิทธิภ...
Read More →บทความ: เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคในภาษา C ผ่าน Disjoint Set...
Read More →บทความ: เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Java ผ่าน Disjoint Set...
Read More →# เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน C# ผ่าน Disjoint Set...
Read More →**เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Disjoint Set**...
Read More →### เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Golang ผ่าน Disjoint Set...
Read More →# เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน JavaScript ผ่าน Disjoint Set...
Read More →# เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Perl ผ่าน Disjoint Set...
Read More →# เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Rust ผ่าน Disjoint Set...
Read More →Dijkstra Algorithm ตั้งชื่อตามผู้พัฒนา, Edsger W. Dijkstra, สร้างขึ้นเพื่อคำนวณหาเส้นทางที่สั้นที่สุดระหว่างจุดเริ่มต้นและจุดปลายทางในกราฟที่มีน้ำหนักของเส้นเชื่อมระหว่างโหนด (การทำงานของมันจะกำหนดไว้ในกราฟที่มีน้ำหนักไม่เป็นลบเท่านั้น) โดยใช้กลไกของการอัพเดตน้ำหนักเส้นทางและการเลือกเส้นทางที่ดีที่สุดในแต่ละขั้นตอนการวนซ้ำ...
Read More →ในโลกของการเขียนโปรแกรม เรามักจะพบกับปัญหาต่างๆ ที่ต้องการคำตอบหรือวิธีการแก้ปัญหาที่ชาญฉลาด Bellman-Ford Algorithm คือหนึ่งในเครื่องมือที่ช่วยแก้ไขปัญหาสำคัญของโครงข่าย นั่นก็คือ การหาเส้นทางที่สั้นที่สุด แต่เมื่อเราหลุดพ้นจากแบบแผนของการหาเส้นทางที่สั้นที่สุดด้วย Dijkstra Algorithm ที่ให้คำตอบเมื่อเส้นทางความยาวเป็นบวกเสมอ Bellman-Ford ก้าวเข้ามาด้วยความสามารถที่จะหาเส้นทางที่สั้นที่สุดได้แม้ในกรณีที่น้ำหนักของเส้นทางมีค่าเป็นลบ ซึ่งเป็นข้อดีใหญ่หลวงของมันเลยทีเดียว อย่างไรก็ตาม ความสามารถนี้ก...
Read More →การเขียนโปรแกรมไม่ได้มีแค่เพียงการสร้างแอพพลิเคชันหรือการพัฒนาเว็บไซต์เท่านั้น แต่ยังเกี่ยวข้องกับการค้นหาแนวทางในการแก้ไขปัญหาหนักหน่วงทางการคำนวณ หนึ่งในวิธีการที่ทรงพลังและน่าตื่นเต้นที่ได้รับความนิยมก็คือ ?Dynamic Programming? หรือ DP ในภาษา C....
Read More →การทำความเข้าใจโครงสร้างข้อมูลและอัลกอริทึมนั้นมีความสำคัญอย่างยิ่งในโลกของการเขียนโปรแกรม อัลกอริทึมหนึ่งที่มีความสำคัญคือ Breadth First Search (BFS) ซึ่งเป็นเทคนิคการเดินทางผ่านกราฟ (graph) หรือต้นไม้ (tree) โดยการเยี่ยมชมโหนดทีละชั้น จากโหนดเริ่มต้นไปยังโหนดที่อยู่ใกล้ที่สุดก่อน และจากนั้นถึงโหนดที่ไกลออกไป ซึ่งเป็นเทคนิคพื้นฐานที่ถูกใช้ในหลายสถานการณ์ เช่น หาสั้นที่สุดในเกมบอร์ด, การวิเคราะห์เครือข่าย, หาระดับของโหนดในกราฟ, และอื่นๆ...
Read More →ใครที่สนใจเรื่องการค้นหาเส้นทางในแผนที่หรือกราฟ คงคุ้นเคยกับปัญหา ?หาเส้นทางที่สั้นที่สุด? ซึ่งเป็นปัญหาพื้นฐานกันอยู่แล้ว ในบทความนี้ เราจะมาพูดถึง Dijkstra Algorithm ซึ่งเป็นหนึ่งในอัลกอริทึมที่นิยมใช้สำหรับการแก้ไขปัญหานี้ในโดเมนของกราฟที่มีน้ำหนักเชิงบวก...
Read More →คำว่า Greedy ในแง่มุมของอัลกอริทึม (Algorithm) หมายถึงการทำการเลือกที่ดูเหมือนดีที่สุดในขณะนั้นๆ โดยไม่คำนึงถึงผลลัพธ์ระยะยาวที่อาจเกิดขึ้นจากการเลือกนั้น หรือกล่าวอีกนัยหนึ่งคือการหาคำตอบที่ดูดีที่สุดทีละขั้นตอนโดยไม่ย้อนกลับไปพิจารณาการตัดสินใจที่ผ่านมา...
Read More →โลกของการเขียนโปรแกรมเต็มไปด้วยปัญหาที่ท้าทาย และหนึ่งในนั้นคือ การหาเส้นทางที่สั้นที่สุด ไม่ว่าจะเป็นในด้านของการจัดส่งสินค้า, การค้นหาเส้นทางในเครือข่ายคอมพิวเตอร์, หรือแม้แต่การวิเคราะห์ตลาดการเงิน หนึ่งใน Algorithm ที่ถูกนำมาใช้แก้ปัญหาเหล่านี้คือ Bellman Ford Algorithm ลองมาทำความรู้จักกับ Algorithm นี้พร้อมด้วยตัวอย่างโค้ดในภาษา Java และพิจารณาข้อดีข้อเสียของมันกัน...
Read More →ถ้าพูดถึงการค้นหาข้อมูลในโครงสร้างข้อมูลเช่นกราฟหรือต้นไม้ (tree) วิธีการค้นหาแบบหนึ่งที่มีประสิทธิภาพและเป็นที่นิยมกันอย่างมากคือการค้นหาแบบกว้างหรือที่เรียกว่า Breadth-First Search (BFS) ในบทความนี้เราจะไปทำความรู้จักกับ BFS และดูตัวอย่างการใช้งานในภาษา Java พร้อมทั้งวิเคราะห์ความซับซ้อนของอัลกอริทึมนี้ และตัวอย่างการใช้งานในโลกจริง ตลอดจนข้อดีและข้อเสียของมัน...
Read More →คุณเคยได้ยินเกี่ยวกับการเดินของม้าในเกมหมากรุกไหมครับ? Knights Tour Problem คือหนึ่งในปัญหาทางคณิตศาสตร์และทางอัลกอริทึมที่น่าสนใจและท้าทาย ที่ชวนให้นักเรียนรูปแบบการเดินของชิ้นม้า (Knight) บนกระดานหมากรุก ชิ้นม้านั้นลักษณะเฉพาะโดยจะเดินแบบ L หรือเป็นการเดินข้าม 2 ช่องและเลี้ยว 1 ช่องในทิศทางใดก็ตาม ปัญหานี้ก็คือการหาวิธีที่ชิ้นม้าจะสามารถเดินเยือนทุกช่องบนกระดานหมากรุก 8x8 โดยไม่ซ้ำช่องใดช่องหนึ่ง ซึ่งแต่ละขั้นตอนต้องเป็นการเดินแบบ L นั้นเองครับ...
Read More →เมื่อพูดถึงการค้นหาเส้นทางสั้นที่สุดในวิชาการที่ซับซ้อนอย่าง Computer Science ไม่มีคำตอบใดที่แสนจะชัดเจนและเป็นที่เรียกร้องไปกว่า Dijkstra Algorithm นี่คืออัลกอริธึมที่ได้ประดิษฐ์ขึ้นโดย Edsger W. Dijkstra ในปี 1956 ซึ่งวิเศษซึ้งในการแก้ปัญหาการค้นหาเส้นทางที่สั้นที่สุดในกราฟที่มีน้ำหนักไม่เป็นลบ วันนี้เราจะมาสำรวจหัวใจของอัลกอริธึมนี้โดยการใช้ภาษา C# เป็นสื่อกลางในการเรียนรู้ พร้อมทั้งตระหนักรู้ถึงทั้งข้อดีและข้อเสียที่แฝงอยู่...
Read More →ในโลกของโปรแกรมมิ่ง การหาเส้นทางที่สั้นที่สุด (Shortest Path Problem) เป็นหนึ่งในปริศนาที่นักพัฒนาซอฟต์แวร์และนักวิทยาศาสตร์ข้อมูลต้องเผชิญอยู่เป็นประจำ มีอลิตธอร์ริทึมต่างๆ ถูกคิดค้นขึ้นเพื่อเอาชนะความท้าทายนี้ และหนึ่งในนั้นคือ Bellman-Ford Algorithm ซึ่งเป็นเครื่องมือที่มีความสามารถในการตรวจจับวงจรลบ (Negative Cycles) และหาเส้นทางที่สั้นที่สุดแม้ในกราฟที่มีน้ำหนักเป็นลบก็ตาม...
Read More →การค้นหาในโลกของการเขียนโปรแกรมนั้นไม่ได้จำกัดเพียงแค่ข้อมูลในฐานข้อมูลหรือไฟล์เท่านั้น แต่ยังครอบคลุมถึงการค้นพบเส้นทางหรือวิธีการที่เป็นไปได้ต่างๆ เพื่อแก้ไขปัญหาหรือเข้าใจปัญหาที่ซับซ้อนมากขึ้น ตัวอย่างหนึ่งที่เป็นที่นิยมในด้านนี้คือ State Space Search Algorithm ซึ่งเป็นวิธีการที่ใช้ในการหาคำตอบของปัญหาที่มีหลายสถานะหรือ state ที่เป็นไปได้ วันนี้เราจะพูดถึงความสำคัญและความเป็นมาของ State Space Search ในภาษา C# พร้อมดูตัวอย่างโค้ดและการใช้งานในโลกจริง...
Read More →การค้นหาเส้นทางที่สั้นที่สุด (shortest path) เป็นหัวใจหลักของการวางแผนเส้นทาง โดยที่ Dijkstra Algorithm เป็นหนึ่งในแอลกอริธึมที่โด่งดัง และได้รับการยอมรับสำหรับการแก้ไขปัญหาชนิดนี้ ในโลกแห่งการเขียนโปรแกรม, Dijkstra Algorithm ได้ถูกนำมาใช้ในหลากหลายภาษา และหนึ่งในนั้นคือ VB.NET ซึ่งเป็นภาษาที่เน้นความง่ายในการอ่านและการใช้งานสำหรับผู้เรียนรู้ใหม่...
Read More →เมื่อพูดถึงแก่นของการแก้ปัญหาด้วยวิธีการคำนวณทางคอมพิวเตอร์ หนึ่งในอัลกอริทึมที่สำคัญที่ไม่สามารถมองข้ามไปได้ คือ Bellman Ford Algorithm ซึ่งเป็นเครื่องมือที่ทรงพลังสำหรับการหาเส้นทางที่สั้นที่สุดในกราฟ (Shortest Path Problem) ที่มีน้ำหนักบนขอบอาจเป็นลบได้ ไปยังโจทย์ที่ยากลำบากหลากหลาย ในบทความนี้ เราจะพาไปสำรวจเส้นทางของอัลกอริทึมนี้ด้วยภาษา VB.NET พร้อมวิเคราะห์ข้อดีข้อเสียและการประยุกต์ใช้ในโลกจริง...
Read More →Algorithm หรือ อัลกอริทึม เป็นแนวทางแก้ไขปัญหาด้วยขั้นตอนที่ชัดเจนซึ่งใช้ในการค้นหาหรือจัดเรียงข้อมูลในวิชาคอมพิวเตอร์ หนึ่งใน Algorithm ที่มีชื่อเสียงและมีประโยชน์อย่างมากในการเข้าถึงข้อมูลอย่างมีระบบคือ Breadth First Search หรือ BFS โดยมีลักษณะคร่าวๆ คือการค้นหาหรือเที่ยวไปในกราฟ (Graph) โดยการใช้การค้นหาแบบกวาดทีละชั้น (Level by Level) ซึ่งการใช้งาน BFS นั้น สามารถนำไปใช้ในหลายสถานการณ์ เช่น การหาความสัมพันธ์ระหว่างรายการต่างๆ หรือการหาลำดับที่สั้นที่สุดระหว่างจุด A กับจุด B ในเครือข่าย นอกจา...
Read More →เวลาที่เราได้ยินคำว่า Travelling Salesman Problem (TSP) หลายคนอาจไม่คุ้นเคยหรือสงสัยว่านี่คืออะไร? บทความนี้จะพาทุกท่านไปทำความเข้าใจพร้อมสำรวจโลกของการเขียนโปรแกรมกับปัญหา TSP ผ่านภาษาเชิงวัตถุที่ชื่นชอบของหลายๆ คนอย่าง VB.NET พร้อมทั้งฝึกวิเคราะห์ข้อดีข้อเสีย และ complexity ของ algorithm ที่ใช้แก้ปัญหานี้...
Read More →ในโลกของวิทยาการคอมพิวเตอร์และการเขียนโปรแกรม อัลกอริทึมถือเป็นหัวใจหลักที่ช่วยพัฒนาโปรแกรมให้สมบูรณ์แบบและคุณภาพสูง หนึ่งในอัลกอริทึมที่โดดเด่นและมีประโยชน์อย่างมากคือ Dijkstra Algorithm หรืออัลกอริทึมของดิจิตรา ซึ่งถูกพัฒนาขึ้นโดยวิศวกรชาวดัตช์ Edsger W. Dijkstra ในปี 1956 วันนี้เราจะนำเสนอข้อมูลเกี่ยวกับอัลกอริทึมนี้ในภาษา Python พร้อมทั้งยกตัวอย่างการใช้งานในสถานการณ์จริงและวิเคราะห์ข้อดีข้อเสียที่น่าสนใจ...
Read More →การเขียนโปรแกรมนั้นก็คือการแก้ปัญหาต่างๆ ผ่านการสั่งงานคอมพิวเตอร์ด้วยภาษาที่เครื่องจักรสามารถเข้าใจได้ หนึ่งในทักษะเชิงกลยุทธ์ที่สำคัญทางด้านการเขียนโปรแกรมคือการจัดการกับปัญหาการซ้ำซ้อนของคำนวณซึ่งสามารถคร่าชีวิตประสิทธิภาพของโปรแกรมได้ เทคนิคที่ช่วยในเรื่องนี้คือ Memorization หรือการจำผลการคำนวณไว้....
Read More →ในโลกแห่งการเขียนโปรแกรม วิธีการค้นหาที่เหมาะสมสำหรับสถานการณ์ที่เจอเป็นสิ่งที่นักพัฒนาต้องเผชิญและแก้ไขอยู่เสมอ หนึ่งในอัลกอริทึมที่มีความสำคัญในการหาคำตอบของปัญหาที่มีโครงสร้างที่ซับซ้อนคือ การค้นหาในพื้นที่สถานะ (State Space Search) วันนี้ เราจะมาพูดถึงอัลกอริทึมนี้ด้วยภาษา Python เพื่อช่วยให้คุณเข้าใจแนวคิด ประโยชน์ และข้อจำกัดของมัน...
Read More →ในโลกแห่งการคอมพิวเตอร์ หนึ่งในกุญแจสำคัญที่ทำให้เราสามารถแก้ไขปัญหาที่ซับซ้อนได้คือ Algorithms หรือขั้นตอนวิธีการในการคำนวณแก้ไขปัญหา Dijkstra Algorithm เป็นหนึ่งในอัลกอริทึมที่มีความสำคัญซึ่งใช้ในการหาเส้นทางที่สั้นที่สุดจากจุดเริ่มต้นไปยังจุดหมายปลายทางที่กำหนด และในบทความนี้เราจะอธิบายว่า Algorithm นี้คืออะไร ใช้แก้ไขปัญหาอะไร พร้อมทั้งยกตัวอย่างการใช้งานด้วยภาษา Golang และการนำไปใช้ในสถานการณ์จริง รวมถึงวิเคราะห์ประสิทธิภาพและข้อจำกัดของมันด้วย...
Read More →ในโลกการโปรแกรมมิ่ง มีตัวช่วยมากมายที่พัฒนาขึ้นเพื่อแก้ไขปัญหาที่ซับซ้อนและหลากหลาย หนึ่งในนั้นคือ Bellman-Ford Algorithm, ที่ถูกพูดถึงอย่างกว้างขวางในหมวดของ Graph Theory และแน่นอน, ในการเรียนที่ EPT นิสิตจะได้พบกับความท้าทายในการทำความเข้าใจอัลกอริทึมนี้ตลอดจนได้มือปฏิบัติจริงด้วยภาษา Golang หนึ่งในภาษาโปรแกรมมิ่งที่มีความสามารถสูงและน่าสนใจมากขึ้นในเวลานี้...
Read More →Breadth First Search เป็นรูปแบบหนึ่งของการเดินทางผ่าน (traversal algorithm) ที่เริ่มจากโหนดราก (root node) และสำรวจทุกโหนดในทุกระดับก่อนที่จะขยับไปยังระดับถัดไป มันใช้เทคนิคของ Queue เพื่อจัดการกับการอ่านโหนดที่ร้อนเย็นตามลำดับ Breadth First Search เป็นวิธีที่ดีในการค้นหาเส้นทางหรือเพลินเพลินวัตถุจากต้นไม้หรือกราฟที่เกี่ยวข้องกับการหา Shortest Path หรือการทำ Graph Connectivity...
Read More →ในโลกของการพัฒนาซอฟต์แวร์ การเลือกใช้อัลกอริทึม (Algorithm) ที่เหมาะสมกับปัญหาที่เราต้องแก้ไข เป็นสิ่งสำคัญมาก หนึ่งในอัลกอริทึมที่หลายๆ คนอาจมองข้าม คือ Backtracking ซึ่งเป็นวิธีที่ให้เราทดลองทุกๆ คาดเดาเพื่อหาคำตอบในปัญหาที่มีโครงสร้างเป็นต้นไม้หรือกราฟ ในบทความนี้ เราจะมาทำความรู้จักกับ Backtracking ผ่านภาษา Golang ซึ่งมีความสามารถในการเขียนโปรแกรมได้อย่างปลอดภัย รวดเร็ว และมีประสิทธิภาพ...
Read More →ในโลกของการเขียนโปรแกรม หนึ่งในศาสตร์ที่น่าตื่นเต้นและเต็มไปด้วยความท้าทายคือ การค้นหา State Space หรือที่รู้จักกันในวงการ AI คือการค้นหาสถานะต่างๆ เพื่อแก้ไขปัญหาหรือตอบสนองต่อความต้องการ. โดยวันนี้เราจะมาทำความรู้จักกับการค้นหา State Space และวิธีการใช้ภาษา Golang ในการประยุกต์ใช้งาน Algorithm นี้พร้อมทั้งวิเคราะห์ข้อดี ข้อเสีย และนำเสนอ usecase ในโลกจริง....
Read More →Dijkstra Algorithm เป็นหนึ่งในอัลกอริธึมที่ใช้ในการคำนวณหาเส้นทางที่สั้นที่สุดในกราฟที่มีน้ำหนักบนแต่ละขอบ (edge) และไม่มีขอบที่มีน้ำหนักเป็นลบ อัลกอริธึมนี้ถูกพัฒนาโดยนักวิทยาศาสตร์ชาวดัตช์ Edsger W. Dijkstra ในปี 1956 ซึ่งเป็นหัวใจสำคัญในการทำงานของอัลกอริทึมการกำหนดเส้นทางในเครือข่ายคอมพิวเตอร์ และหลากหลายสาขาซอฟต์แวร์การนำทาง...
Read More →Bellman Ford Algorithm เป็นอัลกอริธึมที่ถูกออกแบบมาเพื่อค้นหาเส้นทางที่สั้นที่สุด (shortest path) จากจุดเริ่มต้นไปยังจุดหมายอื่นๆ ในกราฟ ซึ่งสามารถจัดการกับน้ำหนักริมที่เป็นลบได้ นอกจากนี้ยังสามารถตรวจสอบวงหรี (negative cycles) ซึ่งหมายความว่าสามารถบอกได้ว่ากราฟของเรามีเส้นทางที่ทำให้รวมค่าน้ำหนักแล้วเป็นลบหรือไม่...
Read More →บทความวันนี้จะชวนทุกคนมาท่องเส้นทางของม้าหมากรุก (Knight) ในปัญหาที่เรียกว่า Knights Tour Problem ผ่านการเขียนโปรแกรมด้วยภาษา JavaScript และในปลายทางของการเดินทางครั้งนี้ พวกเราจะได้สำรวจความลึกของ Algorithm นี้ว่าเหมาะสมที่จะแก้ปัญหาใดบ้าง พร้อมด้วยตัวอย่าง Code ประกอบการอธิบาย นอกจากนี้เรายังจะพาไปสำรวจในโลกจริงเพื่อเห็นภาพการใช้งาน และท้ายที่สุดคือการวิเคราะห์ความซับซ้อน (Complexity) และข้อดีข้อเสียของ Algorithm นี้ มาร่วมกันแก้ไขปริศนาทางคณิตศาสตร์ที่ท้าทายนี้กันเถอะ!...
Read More →การเดินทางจากจุด A ไปยังจุด B อาจดูเหมือนเรื่องง่ายสำหรับเราในชีวิตจริง แต่ในโลกของอัลกอริทึมและการคำนวณทางคอมพิวเตอร์ หนึ่งในปัญหาหลักที่นักวิจัยและโปรแกรมเมอร์พยายามที่จะแก้ไขคือการค้นหาเส้นทางที่สั้นที่สุดระหว่างจุดต่างๆ หนึ่งในอัลกอริทึมที่มีความสำคัญและเป็นที่รู้จักกันดีคือ Bellman-Ford Algorithm ซึ่งเราจะมาทำความเข้าใจกันในบทความนี้ โดยผมจะใช้ภาษา Perl เพื่ออธิบายและยกตัวอย่างการใช้งานที่น่าตื่นเต้นสำหรับคุณ...
Read More →การเขียนโปรแกรมเพื่อแก้ไขปัญหาทางคณิตศาสตร์หรือการคำนวณในโลกปัจจุบัน นับเป็นทักษะที่พึงประสงค์สำหรับนักพัฒนาซอฟต์แวร์ทุกคน หนึ่งในอัลกอริทึมที่มีประสิทธิภาพและดำเนินการได้ง่ายคือ Greedy Algorithm (อัลกอริทึมตะกละ) วันนี้เราจะมาพูดถึงคุณสมบัติพิเศษของอัลกอริทึมนี้ และทบทวนวิธีการเขียนโปรแกรมด้วยภาษา Perl เพื่อแก้ไขปัญหาโดยใช้อัลกอริทึมตะกละ...
Read More →ในโลกของการคำนวณ, การค้นหาข้อมูลคือหัวใจสำคัญที่ทำให้เราสามารถสกัดเนื้อหาที่จำเป็นออกจากมหาสมุทรของข้อมูลได้ องค์ประกอบหนึ่งที่เป็นกุญแจสำคัญในการค้นหาข้อมูลในโครงสร้างของกราฟคือ Breadth First Search (BFS) ซึ่งเป็น Algorithm ในการเดินผ่าน (Traversal) ทุกโหนดในกราฟหรือต้นไม้โดยใช้วิธีการเลเวลต่อเลเวล ในบทความนี้ เราจะศึกษาถึงความหมาย, การใช้งาน, ตัวอย่างโค้ดเขียนด้วย Perl, usecase ในโลกจริง และวิเคราะห์ความซับซ้อน รวมทั้งข้อดีข้อเสียของ BFS โดยผสานกับคำเชิญชวนให้คุณร่วมศึกษาโลกแห่งการเขียนโปรแกรม...
Read More →ในโลกแห่งการเขียนโปรแกรมและอัลกอริทึม การค้นหาเส้นทางที่สั้นที่สุดคือหนึ่งในปัญหาคลาสสิกที่มีการศึกษาและใช้งานอย่างแพร่หลาย เมื่อพูดถึงอัลกอริทึมในการหาเส้นทางที่สั้นที่สุด หลายคนอาจนึกถึง Dijkstra Algorithm แต่เมื่อข้อจำกัดเข้ามาเกี่ยวข้อง ทำให้ Bellman Ford Algorithm ซึ่งเป็นอีกหนึ่งตัวเลือกที่น่าสนใจ และสามารถจัดการกับน้ำหนักที่เป็นลบได้ อัลกอริทึมนี้จึงมีบทบาทสำคัญในงานที่ซับซ้อนมากขึ้น...
Read More →Greedy Algorithm เป็นชนิดของอัลกอริธึมที่เลือกทำการตัดสินใจทีละขั้นตอน, โดยที่ที่แต่ละขั้นตอนมันจะเลือกสิ่งที่ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดในขณะนั้นไปเรื่อยๆ โดยมิได้พิจารณาถึงผลกระทบในระยะยาวที่จะตามมา ซึ่งบางครั้งอาจทำให้ไม่ได้ผลลัพธ์ที่เป็นคำตอบที่ดีที่สุดแต่แล้วก็ยังได้ผลลัพธ์ที่ ดีพอ สำหรับปัญหาที่กำลังจัดการอยู่...
Read More →การค้นหาด้วยวิธี Breadth First Search (BFS) เป็นหนึ่งในวิธีพื้นฐานที่ใช้ในการท่องไปยังแต่ละจุดในโครงสร้างข้อมูลแบบกราฟหรือต้นไม้ (tree). BFS คืออะไร? อัลกอริทึมนี้ทำงานอย่างไร? มีการใช้งานในปัญหาอะไรบ้าง? และมีจุดเด่นข้อจำกัดอย่างไร? ในบทความนี้ เราจะมาสำรวจคำตอบเหล่านี้พร้อมกับตัวอย่างโค้ดในภาษา Lua ที่น่าสนใจและง่ายต่อการเรียนรู้....
Read More →ปัญหาเดินม้า หรือ Knights Tour Problem ในโลกของการเขียนโปรแกรม เป็นปัญหาคลาสสิกที่มีความท้าทายสูง โดยเราต้องการให้ม้าในเกมหมากรุกเดินทางไปยังทุกช่องบนกระดานหมากรุกขนาด 8x8 โดยไม่เดินซ้ำช่องใดก็ตาม นอกจากนี้ เรายังสามารถขยายปัญหานี้ไปยังกระดานขนาดใดก็ได้ N x N ด้วยการใช้วิธีการคำนวณที่แตกต่างกัน...
Read More →ความสามารถในการหาเส้นทางที่สั้นที่สุดบนกราฟเป็นหนึ่งในปัญหาหลักที่เกี่ยวพันกับการคำนวณและเป็นที่สนใจของนักพัฒนาโปรแกรมและวิศวกรทั่วโลก เมื่อพูดถึงอัลกอริทึมที่แก้ปัญหานี้ได้อย่างมีประสิทธิภาพ หนึ่งในชื่อที่เด่นชัดคือ Dijkstra Algorithm วันนี้เราจะพาไปรู้จักกับอัลกอริทึมในตำนานนี้พร้อมประยุกต์ใช้ในภาษา Rust ที่โดดเด่นด้วยความปลอดภัยและประสิทธิภาพ...
Read More →Bellman Ford Algorithm เป็นหนึ่งในอัลกอริทึมสำคัญที่ถูกใช้ในการค้นหาเส้นทางสั้นที่สุดในกราฟที่มีน้ำหนักของเส้นเชื่อม อัลกอริทึมนี้มีลักษณะพิเศษที่สามารถจัดการกับเส้นทางที่มีน้ำหนักเป็นลบได้ ซึ่งหลายอัลกอริทึมไม่สามารถทำได้ เช่น Dijkstra Algorithm วันนี้เราจะมาสำรวจการใช้งาน Bellman Ford Algorithm ผ่านภาษา Rust ซึ่งเป็นภาษาโปรแกรมมิ่งที่โดดเด่นในเรื่องประสิทธิภาพและความปลอดภัย...
Read More →Breadth-First Search (BFS) คือหนึ่งใน algorithm ที่ใช้สำหรับการค้นหาหรือ เดิน ทะลุทะลวงผ่านข้อมูลในโครงสร้างแบบกราฟ หรือ trees โดยเริ่มจากจุดเริ่มต้น (root node) และสำรวจทุกๆ จุดที่อยู่ใกล้เคียง (neighbor nodes) ของจุดนั้นก่อนที่จะย้ายไปยังระดับถัดไป นั่นทำให้ BFS มีลักษณะเป็นการค้นหา ?แผ่นเสมอ? ตามระดับความลึกรวมกับขวางของกราฟหรือต้นไม้นั้นๆ...
Read More →การเดินทางคือการหาเส้นทางที่ดีที่สุดจากจุดหนึ่งไปยังอีกจุดหนึ่ง ไม่ว่าจะเป็นในเกมกลยุทธ์, การนำทาง GPS หรือแม้กระทั่งในระบบคำนวณเส้นทางสำหรับหุ่นยนต์ และในโลกของการเขียนโปรแกรมนั้น A* Algorithm คือหนึ่งในตัวเลือกยอดนิยมที่มาช่วยค้นหาเส้นทางด้วยวิธีที่ฉลาดและรวดเร็ว...
Read More →ในโลกของการวิเคราะห์และการคำนวณทางคอมพิวเตอร์, อัลกอริทึม (Algorithm) เป็นตัวกำหนดคุณภาพและประสิทธิภาพในการแก้ปัญหาที่แตกต่างกัน หนึ่งในอัลกอริทึมที่มีความสำคัญและมีประสิทธิภาพสูงในการแก้ปัญหาค้นหาเส้นทางคือ D* Algorithm หรือ Dynamic A* Algorithm ในบทความนี้ เราจะพาคุณไปรู้จักกับ D* Algorithm, ข้อดีข้อเสีย, ความซับซ้อน (Complexity), ตัวอย่างของโค้ดในภาษา C, และการใช้งานในโลกจริง...
Read More →การค้นหาเส้นทางในโลกของการเขียนโปรแกรมนั้นมีความสำคัญไม่น้อยไปกว่าการหาเส้นทางในโลกจริง เช่นในการนำทาง GPS หรือในโลกของวิดีโอเกมที่ตัวละครต้องพบเส้นทางที่ดีที่สุดในการเดินทาง A* Algorithm เป็นดาวนำทางในดินแดนโค้ดที่พร้อมกล่าวขวัญ และในบทความนี้ เราจะพาทุกท่านไปรู้จักกับมันอย่างถ่องแท้...
Read More →พบกันอีกครั้งในโลกแห่งตัวอักษรและศิลปะการเขียนโปรแกรมที่ EPT เราไม่เพียงแต่เรียนรู้เพื่อพัฒนาซอฟต์แวร์ แต่ยังเรียนรู้เพื่อค้นหาความจริง ลึกซึ้งไปในกระบวนการคิดเชิงแก้ไขปัญหาแบบที่คอมพิวเตอร์ทำได้ดีที่สุด วันนี้เราจะมาแชร์ความรู้กันเกี่ยวกับ B* Algorithm พร้อมตัวอย่างโค้ดในภาษา C++ และวิเคราะห์ในแง่มุมต่างๆ ถ้าพร้อมแล้ว มาเริ่มกันเลย!...
Read More →2. การใช้งานและปัญหาที่ D* Algorithm แก้ไข...
Read More →Ford-Fulkerson Algorithm เป็นวิธีการคำนวณหา Maximum Flow ในเครือข่าย (Network Flow) ที่มีกราฟมีทิศทาง (Directed Graph) โดยทุกเส้นเชื่อม (Edge) มีค่าประจุ (Capacity) ที่จำกัด และมีการกำหนดโหนดเริ่มต้น (Source) และจุดสิ้นสุด (Sink) โดย Algorithm นี้เป็นที่รู้จักอย่างกว้างขวางในแง่ของการประยุกต์ใช้ค้นหากำลังการผลิตสูงสุดในระบบเครือข่ายต่างๆ เช่น ระบบขนส่งน้ำมันหรือข้อมูล...
Read More →ในโลกที่เต็มไปด้วยข้อมูลและปัญหาต่างๆ ที่ต้องการคำตอบอย่างรวดเร็วและแม่นยำในการแก้ไข, D* Algorithm หรือ Dynamic A* Algorithm เป็นหนึ่งในทางออกที่เปล่งประกายแห่งปัญญาในโลกของอัลกอริทึมที่ใช้สำหรับการค้นหาเส้นทาง (pathfinding) ซึ่งมีความยืดหยุ่นสูงและสามารถปรับตัวเองได้ตามสภาพแวดล้อมที่เปลี่ยนแปลงไป....
Read More →การเขียนโปรแกรมเป็นสิ่งที่เปิดโลกแห่งการแก้ปัญหาได้อย่างไม่จำกัด โดยเฉพาะด้านของอัลกอริทึมที่เป็นหัวใจของหลายๆ โซลูชันในภาควิชาการและวิชาชีพ วันนี้เราจะมาดำดิ่งไปกับอัลกอริทึมชื่อดังอีกตัวหนึ่งที่เรียกว่า Ford-Fulkerson Algorithm ซึ่งถูกนำมาใช้เพื่อการหาค่าการไหลสูงสุดในเครือข่าย (maximum flow) ในปัญหาที่เกี่ยวข้องกับเนื้อข่าย (network)...
Read More →ในโลกการเขียนโปรแกรมที่บอกเล่าด้วยภาษาของความสามารถ การใช้ Algorithm เป็นเครื่องมือที่ทรงพลังซึ่งช่วยให้เราสามารถแก้ปัญหาที่ซับซ้อนได้อย่างมีประสิทธิภาพ B* Algorithm เป็นหนึ่งในนั้นที่กล่าวถึงเรื่องราวของความคิดเชิงลึกในการค้นหาและวางแผนการทำงานในโลกของข้อมูลขนาดใหญ่และปัญหาที่หลากหลาย...
Read More →การหาเส้นทาง (Pathfinding) นับเป็นหนึ่งในภารกิจแก่นของหลากหลายโปรแกรมประยุกต์ เช่น หุ่นยนต์นำทาง, เกมวิดีโอ, หรือแม้แต่การวางแผนทราฟฟิคในเมืองใหญ่ D* Algorithm หรือ Dynamic A* คืออัลกอริธึมสำหรับหาเส้นทางที่เป็นไดนามิกและสามารถปรับเปลี่ยนได้ตามสิ่งกีดขวางที่เพิ่มเข้ามาหรือเปลี่ยนแปลงระหว่างทาง...
Read More →การเดินทางไปยังจุดหมายที่ไม่รู้จักอาจไม่ใช่เรื่องง่ายในโลกของการนำทางหุ่นยนต์หรือระบบ GPS ทุกวันนี้ หนึ่งในอัลกอริทึมที่ทำให้เรื่องนี้ง่ายขึ้นก็คือ D* Algorithm หรือ Dynamic A* Algorithm ซึ่งเป็นการปรับปรุงจาก A* Algorithm ที่มุ่งเน้นการคำนวณเส้นทางที่ดีที่สุดในแบบที่สามารถปรับเปลี่ยนได้ตามสภาพแวดล้อมที่เปลี่ยนไป...
Read More →การวางแผนเส้นทางหรือ Pathfinding เป็นหัวใจสำคัญของหลายๆ แอปพลิเคชันทั้งในวิดีโอเกม, ระบบนำทาง, การวางแผนการเดินทางของหุ่นยนต์, และอื่นๆ อีกมากมาย หนึ่งใน Algorithms ที่ได้รับความนิยมอย่างมากในการหาเส้นทางที่สั้นที่สุดคือ A* Algorithm (อ่านว่า เอ-สตาร์) วันนี้เราจะมาขุดลึกถึง A* Algorithm ว่ามันคืออะไร ใช้งานอย่างไร รวมทั้งวิเคราะห์ความซับซ้อน (Complexity) และข้อดีข้อเสียของมัน พร้อมด้วยตัวอย่างโค้ดเบื้องต้นด้วยภาษา Python ค่ะ...
Read More →ยินดีต้อนรับสู่โลกแห่งการแก้ปัญหาทางคอมพิวเตอร์อย่างสร้างสรรค์ผ่านแว่นตาของการเขียนโปรแกรม! ในวันนี้ เราจะพูดถึงหัวข้อที่ท้าทายแต่น่าตื่นเต้นไม่แพ้กัน? นั่นก็คือ การคำนวณหาค่าปริมาณการรับส่งข้อมูลสูงสุดด้วย Ford-Fulkerson Algorithm ในภาษา Python!...
Read More →D* Algorithm หรือ Dynamic A* Algorithm เป็นปัญญาประดิษฐ์ที่ถูกออกแบบมาเพื่อการวางแผนเส้นทางหรือ Path Planning ในสภาพแวดล้อมที่มีการเปลี่ยนแปลงอยู่เสมอ แตกต่างจาก A* Algorithm ที่ออกแบบมาสำหรับสภาพแวดล้อมที่คงที่ ไม่เปลี่ยนแปลง D* Algorithm สามารถปรับเส้นทางในแบบเรียลไทม์ เมื่อพบว่าสภาพแวดล้อมมีการเปลี่ยนแปลง เช่น การพบสิ่งกีดขวางใหม่ หรือการเปิดเผยเส้นทางที่สั้นกว่า...
Read More →A* Algorithm หรือ A-star Algorithm คืออะไร? มันคืออัลกอริทึมสำหรับค้นหาเส้นทางที่ดีที่สุดในปัญหาที่มีหลายเส้นทาง (Pathfinding) และการค้นหากราฟ (Graph Search). มักถูกเลือกใช้ในเกม AI เพื่อการเคลื่อนที่ของตัวละครหรือในระบบนำทาง GPS เพื่อคำนวนเส้นทางที่สั้นที่สุด....
Read More →ในโลกของการเขียนโปรแกรม อัลกอริทึมต่าง ๆ มีความสำคัญอย่างมากในการแก้ไขปัญหาที่ซับซ้อน อัลกอริทึมหนึ่งที่น่าสนใจและมีประโยชน์ในด้านการวางแผนเส้นทางคือ D* Algorithm หรือ Dynamic A* Algorithm ที่วันนี้เราจะมาทำความรู้จักกันอย่างลึกซึ้ง และเราจะยกตัวอย่างการใช้งานและข้อดีข้อเสียของมัน ทั้งนี้เราจะนำมาซึ่งอธิบายด้วยโค้ดตัวอย่างภาษา Golang ซึ่งเป็นภาษาโปรแกรมมิงที่มีพลังและน่าสนใจในยุคปัจจุบัน...
Read More →เทคโนโลยีและโลกแห่งข้อมูลมีการเปลี่ยนแปลงอย่างรวดเร็วและการค้นหาเส้นทางที่ดีที่สุดเป็นหนึ่งในปัญหาที่น่าสนใจในหลายๆ สาขา ไม่ว่าจะเป็น งานวิจัย, การวางแผนการเดินทาง, หรือแม้แต่ในวิดีโอเกม เพื่อแก้ไขปัญหาเหล่านี้ A* (A-star) Algorithm ถือเป็นเครื่องมือที่สำคัญที่นักพัฒนาทุกคนควรรู้จัก ในบทความนี้ เราจะไขข้อข้องใจเกี่ยวกับ A* Algorithm ผ่านการใช้ JavaScript ทำความเข้าใจถึงวิธีการทำงาน ยกตัวอย่างพร้อมด้วยโค้ดตัวอย่างและโอกาสในการนำไปประยุกต์ในโลกจริงพร้อมวิเคราะห์ความซับซ้อนและข้อดีข้อเสีย...
Read More →บทความนี้จะพาทุกท่านไปรู้จักกับ D* Algorithm หรือ Dynamic A* Algorithm ซึ่งเป็นอัลกอริธึมสำหรับการวางแผนเส้นทางในสภาพแวดล้อมที่มีการเปลี่ยนแปลงอย่างต่อเนื่อง นับว่าเป็นอีกหนึ่งเครื่องมือที่มีความสำคัญอย่างยิ่งในวงการวิทยาการคอมพิวเตอร์ โดยเฉพาะในการพัฒนาซอฟต์แวร์ที่ต้องการความเร็วและความแม่นยำในการตัดสินใจเส้นทาง เช่น ระบบนำทางของหุ่นยนต์หรือยานพาหนะอัตโนมัติ...
Read More →A* Algorithm คืออัลกอริทึมการค้นหาที่ใช้ความคิดของกราฟและการประเมินในแบบฮิวริสติก เพื่อคำนวณและหาเส้นทางที่มีค่าความเสียหายต่ำที่สุดจากจุดเริ่มต้นไปยังจุดปลายทาง พุทธิพรหมลักษณะที่ทำให้มันโดดเด่นคืออัลกอริธึมนี้สามารถทำนายต้นทุนที่จะใช้ในการไปถึงจุดหมายพร้อมกับที่มันค้นหา ทำให้เป็นทางเลือกที่ฉลาดในการหลีกเลี่ยงเส้นทางที่ดูน่าสนใจแต่อาจกลายเป็นถ้ำแห่งความยากลำบากในท้ายที่สุด...
Read More →Ford-Fulkerson Algorithm คือหนึ่งในอัลกอริทึมที่สำคัญและมีประสิทธิภาพในการค้นหา maximum flow ใน network flow ซึ่งสามารถนำไปใช้แก้ปัญหาต่างๆ เช่น การจัดสรรทรัพยากร, การวางแผนการขนส่ง, และปัญหาการจับคู่ที่ดีที่สุดในระบบกราฟ อัลกอริทึมนี้มีหลายขั้นตอน แต่ใจความหลักคือการหา augmenting paths และเพิ่มกำลังการไหลไปยังเส้นทางเหล่านั้นจนไม่สามารถหาเส้นทางได้อีกต่อไป และนี่คือกระบวนการที่ทำให้ max flow ถูกค้นพบ...
Read More →การนำทางและการวางแผนเส้นทางเป็นหัวใจสำคัญในหลากหลายภาคสนาม เช่น หุ่นยนต์ต้องการวางแผนเดินทางผ่านสภาพแวดล้อมที่คาดเดาไม่ได้ หรือซอฟต์แวร์ GPS ที่จำเป็นต้องจัดแผนที่ในเวลาจริงเมื่อมีสิ่งกีดขวางเกิดขึ้น D* Algorithm (หรือ Dynamic A* Algorithm) ถูกพัฒนาเพื่อรับมือกับการเปลี่ยนแปลงของสภาพแวดล้อมโดยคำนวณเส้นทางในลักษณะที่สามารถปรับเส้นทางใหม่ได้อย่างรวดเร็วเมื่อพบสิ่งกีดขวางที่ไม่คาดคิดหรือมีการเปลี่ยนแปลงในสภาพแวดล้อม...
Read More →การเขียนโปรแกรมเป็นศาสตร์ที่มีมิติหลากหลาย ตั้งแต่อัลกอริธึมพื้นฐานกระทั่งสู่เทคนิคที่ชวนให้นักพัฒนาต้องสะกดจิตสะกดใจในการแก้ปัญหาที่ซับซ้อน ท่ามกลางเทคนิคมากมายนั้น มีหนึ่งวิธีการที่น่าสนใจซึ่งหลายครั้งถูกมองข้าม นั่นคือ Randomized Algorithm หรือ อัลกอริธึมแบบสุ่ม ซึ่งเป็นที่รู้จักในการจัดการกับปัญหาที่ระหว่างการคำนวณในธรรมชาติที่ไม่สามารถคาดเดาได้ล่วงหน้า...
Read More →อัลกอริทึม Monte Carlo เป็นเทคนิคทางคณิตศาสตร์ที่ใช้กระบวนการสุ่มหรือจำลองสถิติเพื่อแก้ปัญหาที่มีความซับซ้อนหรือปัญหาที่ไม่สามารถหาคำตอบได้อย่างชัดเจนด้วยวิธีการแบบดั้งเดิม ชื่อ Monte Carlo มาจากการพนันที่เมืองมอนเตคาร์โลในโมนาโก ซึ่งการพนันเป็นกระบวนการที่มีความไม่แน่นอนและสุ่มเช่นเดียวกับวิธีการนี้...
Read More →เมื่อพูดถึงการค้นหาเส้นทางหรือการนำทาง (Pathfinding) ในโลกของการพัฒนาซอฟต์แวร์และเกมที่มีความซับซ้อน การกล่าวถึง A* (อ่านว่า ?เอ สตาร์?) Algorithm จึงเป็นสิ่งที่ขาดไม่ได้ เนื่องจากเป็นอัลกอริทึมที่ได้รับการยอมรับและใช้กันอย่างแพร่หลายเพราะความสามารถในการค้นหาเส้นทางที่สั้นที่สุดอย่างมีประสิทธิภาพ...
Read More →Ford-Fulkerson Algorithm เป็นหนึ่งใน algorithm ที่ได้รับความนิยมในกราฟทฤษฎีสำหรับการแก้ปัญหาการหาค่าสูงสุดของการไหลในเครือข่าย (maximum flow problem) ซึ่งมีความสำคัญในหลากหลายด้าน เช่น การวางแผนทรัพยากร, ระบบการจัดส่ง, และแม้กระทั่งในการวิเคราะห์เครือข่ายสังคมออนไลน์ ในบทความนี้ เราจะสำรวจประโยชน์และการใช้งานของ Ford-Fulkerson Algorithm ในภาษา Lua, รวมถึงทำความเข้าใจความซับซ้อน, วิเคราะห์ข้อดีและข้อเสียพร้อมกับตัวอย่างการใช้ในโลกจริง...
Read More →B* Algorithm เป็นอัลกอริธึมที่ถูกพัฒนามาจาก A* Algorithm สำหรับการค้นหาเส้นทางโดยใช้การประเมินฟังก์ชั่น heuristic และก้าวขั้นทีละขั้น (step-by-step) เพื่อหาเส้นทางที่เหมาะสมที่สุดจากจุดเริ่มต้นไปยังจุดหมายปลายทาง ข้อแตกต่างหลักจาก A* คือ B* มีการปรับปรุงในเรื่องของการค้นหาเพื่อลด memory usage และเพิ่มประสิทธิภาพในการค้นหาของอัลกอริธึมให้ดีขึ้น...
Read More →ในโลกที่เต็มไปด้วยความซับซ้อนและการเปลี่ยนแปลงอยู่ตลอดเวลา เช่น โลกของหุ่นยนต์เคลื่อนที่หรือการจำลองสถานการณ์ทางทหาร การวางแผนเส้นทางที่สามารถตอบสนองต่อการเปลี่ยนแปลงเหล่านี้เป็นสิ่งจำเป็น หนึ่งในอัลกอริทึมที่ช่วยให้การวางแผนเส้นทางหลีกเลี่ยงปัญหาและความไม่แน่นอนได้คือ D* Algorithm หรือ Dynamic A* Algorithm วันนี้เราจะมาสำรวจข้อมูลเชิงลึกเกี่ยวกับ D* Algorithm และวิธีการใช้งานในภาษา Lua พร้อมทั้งยกตัวอย่าง usecase ในโลกจริง และทบทวนความซับซ้อน ข้อดี และข้อเสียของอัลกอริทึมนี้...
Read More →การค้นหาเส้นทางในโลกของคอมพิวเตอร์นั้นเป็นหนึ่งในปัญหาที่คอด้านโปรแกรมมิ่งมักจะพบเจอ ไม่ว่าจะเป็นการเดินทางของตัวละครในเกมส์ หุ่นยนต์ที่ต้องหลบหลีกอุปสรรค หรือแม้แต่ AI ที่วิเคราะห์เส้นทางการจราจร และหนึ่งใน Algorithm ที่ได้รับความนิยมสูงสุดในการค้นหาเส้นทางคือ A* Algorithm ซึ่งในบทความนี้ เราจะพูดถึงการใช้งาน A* Algorithm ในภาษา Rust อธิบายความสามารถ และทำความเข้าใจถึงข้อดีข้อเสียผ่านทาง usecase และตัวอย่าง code ที่จะช่วยให้คุณเข้าใจมากยิ่งขึ้น...
Read More →การรับมือกับปริมาณงานของโปรแกรมเมอร์ไม่ใช่เรื่องง่าย แต่หากรู้จักกับ Ford-Fulkerson Algorithm ที่เป็นกุญแจสำคัญในการหา Maximal Flow ใน network หลายปัญหาที่เคยดูซับซ้อนก็จะดูง่ายดายขึ้นมาทันที เรามาเริ่มกันเลยว่า Algorithm นี้คืออะไร และวิธีการใช้ด้วยภาษา Rust และใช้ประโยชน์อย่างไรในโลกความเป็นจริง...
Read More →B* Algorithm เป็นหนึ่งในอัลกอริธึมสำหรับการค้นหาที่พัฒนามาจาก A* Algorithm ที่มีชื่อเสียง โดย B* Algorithm ได้รับการปรับปรุงต่อยอดมาให้แก้ไขปัญหาข้อจำกัดเกี่ยวกับการใช้งานหน่วยความจำและการค้นหาทางเลือกที่มีประสิทธิภาพยิ่งขึ้น อัลกอริธึมนี้ดีไซน์มาเพื่อใช้ในสภาพแวดล้อมที่มีการเปลี่ยนแปลงได้ และต้องการการค้นหาเส้นทางที่ยืดหยุ่นและสามารถปรับเปลี่ยนได้สูง...
Read More →การค้นหาเส้นทาง (Pathfinding) เป็นหนึ่งในปัญหาพื้นฐานที่พบได้ในหลากหลายด้าน ตั้งแต่วิดีโอเกมไปจนถึงหุ่นยนต์นำทาง หนึ่งในอัลกอริธึมที่น่าสนใจและมีประโยชน์สูงคือ D* (Dynamic A*) Algorithm ซึ่งเป็นการพัฒนามาจาก A* Algorithm ประโยชน์ของมันอยู่ที่การสามารถปรับเปลี่ยนเส้นทางได้แบบไดนามิกเมื่อสภาวะแวดล้อมมีการเปลี่ยนแปลง ในบทความนี้เราจะศึกษา D* Algorithm คู่กับภาษารูสต์ (Rust) ที่ช่วยให้การเขียนโปรแกรมเป็นไปอย่างปลอดภัย และมีประสิทธิภาพ...
Read More →การเข้าใจ ฟังก์ชัน Recursive ในภาษา VB.NET และการประยุกต์ใช้ในโลกจริง...
Read More →บทความ: ความงดงามของ Recursive Function และการต่อยอดความรู้ด้วยภาษา JavaScript...
Read More →หัวข้อ: พลังของความเรียบง่ายใน Recursive Function กับภาษา Rust...
Read More →Design Thinking คืออะไรใช้ทำอะไร สำคัญอย่างไร...
Read More →หัวข้อ: Software Engineer คืออะไร การงานของพวกเขามีความสำคัญอย่างไร ข้อดีและข้อเสีย และความรู้ที่จำเป็นสำหรับการเป็น Software Engineer...
Read More →หัวข้อ: สิบอุปกรณ์เสริมที่จำเป็นใน Visual Studio Code สำหรับนักพัฒนา JavaScript...
Read More →Design Thinking หรือแนวคิดการออกแบบเป็นกระบวนทัศน์ที่นำมาใช้ในการแก้ปัญหาทางธุรกิจและสร้างสรรค์นวัตกรรมมาอย่างยาวนาน แต่คุณเคยสงสัยไหมว่าแนวคิดนี้สามารถต่อยอดมาสู่การพัฒนาซอฟต์แวร์ได้หรือไม่? ในบทความนี้ เราจะพาทุกคนไปรู้จักกับวิธีใช้ Design Thinking ในเส้นทางการพัฒนาซอฟต์แวร์ เพื่อผลิตผลงานที่ตอบโจทย์ผู้ใช้งานอย่างแท้จริง พร้อมทั้งใช้กรณีศึกษาและตัวอย่างโค้ดเพื่อให้เห็นภาพชัดเจน และแน่นอน คุณหากสนใจที่จะประยุกต์ใช้หรือศึกษาเพิ่มเติม ที่ EPT พวกเรามีคอร์สเรียนที่จะช่วยให้คุณไต่สุดยอดแห่งแนวคิดกา...
Read More →ในโลกของการเขียนโปรแกรมคอมพิวเตอร์ ทฤษฎีกราฟนับเป็นหนึ่งในเครื่องมือทางคณิตศาสตร์ที่ให้ประโยชน์มากมาย เปรียบเสมือนสะพานเชื่อมต่อระหว่างทฤษฎีและการปฏิบัติในโลกจริง ซึ่งกราฟในที่นี้ไม่ใช่กราฟที่เราใช้วาดเป็นเส้นโค้งหรือแท่งบนกระดาษที่มีแกน x หรือ y แต่พูดถึง กราฟ ในความหมายของศาสตร์ที่สำรวจถึงความสัมพันธ์แบบไม่ต่อเนื่องระหว่างวัตถุต่างๆ...
Read More →Design Thinking เป็นกระบวนการที่ใช้สำหรับคิดค้นและแก้ไขปัญหาในทางสร้างสรรค์ ซึ่งเดิมทีถูกประยุกต์ใช้ในสาขาของการออกแบบ (Design) แต่ได้แพร่กระจายไปในหลายๆ สาขาวิชา เช่น การศึกษา, วิศวกรรม, และเขียนโปรแกรม ด้วยความที่มันเน้นไปที่การทำความเข้าใจผู้ใช้งาน (User-Centric) และสร้างสรรค์การแก้ไขที่เป็นนวัตกรรม จึงทำให้มีการนำ Design Thinking มาใช้กับการพัฒนาซอฟต์แวร์และโปรแกรมในปัจจุบัน...
Read More →เมื่อพูดถึงการเขียนโปรแกรมที่มีประสิทธิภาพ หลายคนคงคิดถึงการเขียนโค้ดที่ทำงานได้รวดเร็วและใช้ทรัพยากรขั้นต่ำ หนึ่งในแนวคิดที่ช่วยให้เราสามารถเขียนโปรแกรมที่ตอบสนองต่อเงื่อนไขเหล่านั้นคือ Dynamic Programming หรือ การโปรแกรมแบบไดนามิก แต่ท้ายที่สุดแล้ว Dynamic Programming คืออะไร และมันมีความสำคัญในทางเขียนโปรแกรมอย่างไร...
Read More →Graph Theory หรือ ทฤษฎีกราฟ เป็นสาขาหนึ่งของคณิตศาสตร์ที่เกี่ยวกับการศึกษาคุณสมบัติและการใช้งานของกราฟ (Graph) ซึ่งไม่ได้หมายถึงกราฟในแกนพิกัด X-Y ที่เราคุ้นเคย แต่เป็นโครงสร้างข้อมูลที่ประกอบด้วยจุดยอด (Vertices) และเส้นเชื่อม (Edges) ที่เชื่อมต่อระหว่างจุดยอดเหล่านั้น...
Read More →สวัสดีน้องๆ และทุกท่านที่กำลังอ่านบทความนี้! วันนี้พี่จะมาเล่าเรื่องเกี่ยวกับ Design Thinking หรือ ?กระบวนการคิดเชิงออกแบบ? ในโลกของการเขียนโปรแกรมนะครับ ถ้าน้องๆ เคยสร้างบ้านจากตัวต่อหรือวาดรูปตามจินตนาการที่มีในหัว นั่นก็คือการออกแบบแล้วล่ะ!...
Read More →เมื่อพูดถึงการพัฒนาซอฟต์แวร์ หลายคนคิดถึงการเขียนโปรแกรมหรือการออกแบบ interface ที่สวยงาม แต่มีอีกส่วนหนึ่งที่สำคัญไม่แพ้กันคือ การทดสอบซอฟต์แวร์ หรือ Software Testing วันนี้เราจะมาแปลความซับซ้อนนั้นให้ง่ายแบบที่น้องๆ วัย 12 ปีก็เข้าใจได้...
Read More →ในยุคที่ซอฟต์แวร์แทรกซึมเข้าไปในทุกมิติของชีวิต การพัฒนาซอฟต์แวร์ที่มีคุณภาพจึงกลายเป็นเรื่องที่หลีกเลี่ยงไม่ได้ การทดสอบซอฟต์แวร์เป็นกระบวนการที่สำคัญเพื่อค้นหาข้อบกพร่อง และเพิ่มความน่าเชื่อถือของผลงานซอฟต์แวร์ หนึ่งในเทคนิคการทดสอบที่ได้รับความนิยมคือการทดสอบแบบ White-Box หรือที่เรียกว่า Glass-Box Testing วันนี้เราจะมาพูดถึงศาสตร์การทดสอบนี้ให้มากขึ้น...
Read More →ในโลกที่เทคโนโลยีมีพัฒนาการที่รวดเร็ว การทำงานซ้ำๆ ที่เคยต้องทำด้วยมือก็เริ่มถูกแทนที่ด้วยการ automate หนึ่งในเครื่องมือที่เป็นที่นิยมสำหรับการ automate operations บนเว็บคือ Selenium, ซึ่งเป็นเฟรมเวิร์กสำหรับ Testing และ Automating web applications. เมื่อผสานกับ Python ซึ่งเป็นภาษาที่โค้ดอ่านง่ายและมี library ที่หลากหลาย เราสามารถสร้าง script ที่เข้าสู่ระบบ Facebook และโพสต์ข้อความบนผนังได้โดยอัตโนมัติได้อย่างง่ายดาย...
Read More →ในโลกยุคดิจิทัลที่ข้อมูลเป็นสมบัติล้ำค่า อาชีพที่ได้รับกระแสความนิยมและพุ่งพรวดมาที่ชาร์ตสูงสุดในโลกแห่งการทำงานคงหนีไม่พ้น Data Scientist แต่หลายคนที่มีความสนใจในสายงานนี้อาจจะไม่ได้มีพื้นฐานการศึกษาตรงสาย จนเกิดคำถามขึ้นว่า เรียนจบมาไม่ตรงสาย จะสามารถทำงานได้หรือไม่? ในบทความนี้ ผมจะพาไปดูว่าอะไรคือหลักสูตรวิชาการที่จำเป็นสำหรับการเป็น Data Scientist และผู้ที่จบไม่ตรงสายสามารถก้าวเข้าสู่อาชีพนี้ได้อย่างไร...
Read More →เด็กๆ ทุกคนรู้ไหมว่าทุกครั้งที่เราท่องอินเทอร์เน็ต เราจะพบกับตัวหนังสือแปลกๆ ตัวหนึ่งที่พาเราไปยังจุดหมายที่เราต้องการ นี่แหละคือ URL หรือที่เราเรียกกันว่า ที่อยู่ของเว็บไซต์ นั่นเอง...
Read More →การทำงานของหุ่นยนต์ในยุคปัจจุบันได้ถูกพัฒนาให้สามารถทำหน้าที่ได้หลากหลายมากขึ้น ตั้งแต่ช่วยเหลือในงานบ้าน, การผลิตในโรงงาน, ไปจนถึงการทำภารกิจการสำรวจในอวกาศซึ่งเบื้องหลังหุ่นยนต์เหล่านี้มักจะมีอัลกอริธึมที่ซับซ้อนที่ช่วยให้มันสามารถทำงานได้อย่างอัตโนมัติและมีประสิทธิภาพ...
Read More →ในโลกของระบบอัตโนมัติ การพัฒนา Robot หรือหุ่นยนต์ได้กลายเป็นหนึ่งในสาขาวิชาที่น่าสนใจและบูมมากในช่วงทศวรรษที่ผ่านมา ด้วยการรวมกันของเทคโนโลยีใหม่ๆ อาทิเช่น เซ็นเซอร์ต่าง ๆ, การประมวลผลภาพ, และการเรียนรู้ของเครื่อง สาขาวิชานี้จึงมีการพัฒนาและนำไปใช้ในหลายๆ เขตสาขาวิชาชีพ หนึ่งในภาษาโปรแกรมมิ่งที่ได้รับความนิยมในการพัฒนาเทคโนโลยีด้านนี้คือ Python ด้วยไลบรารีที่หลากหลายและโค้ดที่เข้าใจง่าย วันนี้เราจะมาพูดถึง 5 โปรแกรม Python ที่น่าสนใจสำหรับพัฒนาเทคโนโลยี Robot พร้อมตัวอย่างการเขียนโค้ดที่อาจจะทำใ...
Read More →ในโลกที่เทคโนโลยีพัฒนาอย่างไม่หยุดยั้ง การประยุกต์ใช้ซอฟต์แวร์เพื่ออำนวยความสะดวกในงานประจำวันขององค์กรเป็นสิ่งที่กำลังได้รับความนิยมอย่างมาก หนึ่งในซอฟต์แวร์ที่เป็นที่นิยมคือ UIPath ? แพลตฟอร์มการทำงานอัตโนมัติหรือ Robotic Process Automation (RPA) ที่มีศักยภาพในการเปลี่ยนแปลงวิธีการทำงานให้มีความเร็ว เชื่อถือได้มากขึ้น และสามารถลดข้อผิดพลาดที่เกิดจากการทำงานโดยมนุษย์ได้มหาศาล ในบทความนี้ เราจะมาพูดถึงศักยภาพและฟังก์ชันต่างๆของ UIPath ที่มีผลต่อวิธีการทำงานในยุคดิจิทัล...
Read More →หัวข้อ: 5 วิธีในการแสดงรายการไฟล์ใน Directory ของ Python...
Read More →เมื่อพูดถึงการจัดการข้อมูลในโปรแกรมมิ่ง หนึ่งในโจทย์ที่น่าสนใจคือการหาความสัมพันธ์ภายในชุดข้อมูลผ่านโครงสร้าง Disjoint Set หรือ Union-Find ซึ่งเป็นโครงสร้างข้อมูลที่เหมาะสำหรับการจัดการกลุ่มย่อยของข้อมูลที่ไม่มีสมาชิกทับซ้อนกัน เพื่อให้อ่านเข้าใจมากขึ้น ลองมาติดตามข้อดี, ข้อเสีย และยกตัวอย่างการใช้งานเบื้องต้นของ Disjoint Set ในภาษา Next กันเลยครับ!...
Read More →พื้นฐานของการเขียนโค้ดที่ดีคือการมีเทคนิคและวิธีการที่สอดคล้องกับปัญหาที่ต้องการแก้ไข ในภาษา Node.js ความสามารถในการจัดการข้อมูลเป็นพื้นฐานสำคัญที่นักพัฒนาจะต้องถือเป็นหัวใจในการเขียนโค้ด และในบทความนี้ เราจะพูดถึงการใช้โครงสร้างข้อมูลที่เรียกว่า Disjoint Set หรือที่บางครั้งเรียกกันว่า Union-Find เพื่อการจัดการข้อมูลที่มีประสิทธิภาพผ่านโค้ดในภาษา Node.js...
Read More →เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลในภาษา Delphi Object Pascal โดยใช้ Disjoint Set...
Read More →ในโลกแห่งการพัฒนาแอปพลิเคชันด้วยภาษา Swift, การจัดการข้อมูลคือหัวใจสำคัญที่ช่วยให้โปรแกรมทำงานได้อย่างมีประสิทธิภาพและปลอดภัย หนึ่งในเทคนิคที่น่าสนใจในการจัดการกลุ่มข้อมูลคือการใช้โครงสร้างข้อมูลที่เรียกว่า Disjoint Set หรือ Union-Find วันนี้เราจะมาพูดถึงวิธีการใช้ Disjoint Set ในภาษา Swift เพื่อจัดการข้อมูลผ่านการ insert, update, find และ delete พร้อมทั้งให้เหตุผลว่าทำไมนักพัฒนาที่กำลังเรียนที่ EPT (Expert-Programming-Tutor) ควรเข้าใจเทคนิคนี้...
Read More →การจัดการข้อมูลเป็นหัวใจสำคัญของการเขียนโปรแกรมทุกประเภท ไม่ว่าจะเป็นแอปพลิเคชั่น, เกมส์ หรือระบบฐานข้อมูล และเมื่อพูดถึงภาษา Objective-C ซึ่งเป็นภาษาโปรแกรมที่ใช้พัฒนาแอปพลิเคชั่นบนแพลตฟอร์ม iOS การเขียนโค้ดที่มีประสิทธิภาพนำไปสู่ผลลัพธ์ที่ดีในแอปพลิเคชันของคุณ...
Read More →เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลในภาษา Scala โดยใช้ Disjoint Set...
Read More →การจัดการข้อมูล (Data Management) ถือเป็นหัวใจสำคัญในการพัฒนาโปรแกรมหลากหลายประเภท โดยเฉพาะโปรแกรมที่ต้องมีการประมวลผลข้อมูลระหว่างกลุ่มที่แยกจากกัน (Disjoint Sets). ภาษาการเขียนโปรแกรม Julia ได้กลายเป็นทางเลือกสำคัญอันดับต้น ๆ สำหรับนักพัฒนาที่ต้องการความสามารถด้านการคำนวณทางวิทยาศาสตร์และการจัดการข้อมูลในเชิงลึก ในบทความนี้เราจะสำรวจเทคนิคการใช้ Disjoint Set ในภาษา Julia เพื่อการจัดการข้อมูลอย่างเห็นผล....
Read More →บทความ: เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลในภาษา Haskell โดยใช้ Disjoint Set...
Read More →การจัดการกับสตริง (String) เป็นหนึ่งในภารกิจพื้นฐานที่นักพัฒนาซอฟต์แวร์ต้องทำความเข้าใจอย่างชัดเจน โดยเฉพาะอย่างยิ่งในภาษา C++ ซึ่งเป็นภาษาที่ให้ความสำคัญกับการจัดการทรัพยากรอย่างมีประสิทธิภาพและแม่นยำ เพื่อประโยชน์ของความเร็วและการควบคุมที่สูง ภายในบทความนี้ เราจะแนะนำถึงการใช้งานฟังก์ชัน join ซึ่งเป็นเทคนิคที่พบได้บ่อยในภาษาสคริปต์ต่างๆ แต่สำหรับภาษา C++ เราต้องพึ่งพาเทคนิคหรือไลบรารีเสริมเพื่อทำหน้าที่นี้ และเราจะดูว่าการ join สตริงสามารถใช้ประโยชน์ได้อย่างไรในโลกแห่งการเขียนโปรแกรม...
Read More →การเขียนโปรแกรมหรือการพัฒนาแอปพลิเคชันด้วยภาษา C# นั้นมีความหลากหลายและสามารถทำอะไรได้มากมาย หนึ่งในความสามารถที่น่าสนใจนั้นคือการใช้งาน Native GUI ในการจัดการกับกราฟิกและงานวาดภาพ ในบทความนี้ เราจะมาดูวิธีการวาดภาพกระต่ายด้วย C# ในรูปแบบที่ง่ายดายพร้อมทั้งตัวอย่างโค้ดและการอธิบายการทำงาน เพื่อให้คุณได้เข้าใจถึงศักยภาพในการเขียน GUI พื้นฐานและสามารถนำไปต่อยอดในการพัฒนาแอปพลิเคชันได้ ซึ่งสามารถนำเสนอเป็นหลักสูตรประกอบการเรียนการสอนที่ Expert-Programming-Tutor (EPT) ได้เป็นอย่างดี...
Read More →หัวข้อ: สร้าง Directed Graph ด้วย Matrix ในภาษา C# พร้อมตัวอย่างการใช้งาน...
Read More →หัวข้อ: การใช้งาน Web Scraping ด้วยภาษา C# เพิ่มศักยภาพเก็บข้อมูลดิจิทัล...
Read More →หัวข้อ: สร้างโครงสร้างข้อมูล Tree ด้วยตัวเองใน VB.NET พร้อมตัวอย่างการใช้งานในโลกจริง...
Read More →การทำความเข้าใจโครงสร้างข้อมูลเป็นหัวใจหลักของการเขียนโปรแกรม อีกหนึ่งโครงสร้างข้อมูลที่มีความสำคัญอย่างมากคือ กราฟ (Graph) กราฟช่วยในการแสดงความสัมพันธ์ระหว่างองค์ประกอบต่าง ๆ โดยในกรณีนี้เราจะมาพูดถึงการสร้างกราฟไม่มีทิศทาง (Undirected Graph) ที่ใช้ Linked List ในการเก็บข้อมูลแบบ Adjacency List ในภาษา VB.NET ซึ่งเป็นกราฟที่โหนดไหนก็สามารถไปยังโหนดไหนได้โดยไม่มีทิศทางที่ชัดเจน...
Read More →การใช้งาน Web Scraping ในภาษา VB.NET แบบพื้นฐาน...
Read More →ในโลกของการเขียนโปรแกรม การจัดการกับข้อมูลประเภทสตริง (strings) เป็นเรื่องที่พบบ่อยมาก ไม่ว่าจะเป็นการค้นหา, ตัดต่อ, แทนที่ หรือแยกส่วนข้อมูล. หากคุณสนใจในการสร้างแอปพลิเคชันที่มีประสิทธิภาพ การทำความเข้าใจวิธีการจัดการสตริงในภาษาเขียนโปรแกรมต่างๆ เป็นสิ่งจำเป็น และหนึ่งในฟังก์ชันที่สำคัญในภาษา Golang (หรือ Go) ก็คือ strings.LastIndex....
Read More →การเขียนโปรแกรมไม่ใช่เพียงแค่การจัดเรียงคำสั่งไปวันๆ แต่ยังเข้าไปเกี่ยวข้องกับการประมวลผลและการจัดการข้อมูลอย่างซับซ้อน ในภาษาโปรแกรมมิ่งอย่าง JavaScript หนึ่งในประเด็นที่สำคัญ ซึ่งเป็นกุญแจสำคัญในการจัดการกับข้อความ หรือ String คือ การค้นหารูปแบบของข้อความหรือการทำงานกับคำภายใน String นั้นๆ วันนี้เราจะมาพูดถึงเมธอด .lastIndexOf() ใน JavaScript ที่ช่วยในการค้นหาตำแหน่งของคำหลังสุดที่ปรากฏในข้อความด้วยเช่นกัน พร้อมกับตัวอย่าง CODE และประโยชน์การใช้งานในโลกจริง...
Read More →Catalan number หรือ จำนวนคาตาลัน เป็นชุดของจำนวนทางคณิตศาสตร์ที่มีประโยชน์ในหลาย ๆ ด้าน รวมถึงการคำนวณความเป็นไปได้ในโครงสร้างทางคณิตศาสตร์ การวางแผนพาร์เซนต์ภาษา (parsing) ของภาษาโปรแกรมมิ่ง หรือแม้แต่ในการวิเคราะห์เกมส์เช่นเกม tic-tac-toe และเกมอื่นๆ ในบทความนี้ เราจะทำความเข้าใจการทำงานของ Catalan number และวิธีการสร้าง Catalan number generator ในภาษา JavaScript พร้อมด้วยตัวอย่างโค้ดที่ชัดเจนเพื่อให้ผู้อ่านสามารถนำไปประยุกต์ใช้ในสถานการณ์จริงได้ และท้ายสุดเราจะยกตัวอย่าง usecase ในโลกจริงที่ค...
Read More →การเขียนโค้ดเพื่อสร้างกราฟแบบไม่มีทิศทาง (Undirected Graph) ด้วยตัวเองในภาษา JavaScript สามารถทำได้โดยการใช้โครงสร้างข้อมูลประเภท Linked List เพื่อเก็บรายการ adjacency (Adj) หรือรายการที่เชื่อมโยง. ในบทความนี้ผมจะอธิบายเกี่ยวกับวิธีการสร้างกราฟแบบไม่มีทิศทางโดยใช้ linked list เป็นการเก็บ adjacency list, พร้อมด้วยตัวอย่างโค้ด 3 ตัวอย่างและอธิบายการทำงาน. นอกจากนี้ยังจะยกตัวอย่างการใช้งานกราฟในโลกจริงเพื่อประยุกต์ให้เห็นภาพมากขึ้น....
Read More →ในโลกของการเขียนโปรแกรม การจัดการกับข้อความหรือ strings นั้นเป็นหนึ่งในงานพื้นฐานที่นักพัฒนาทุกระดับความสามารถต้องเผชิญหน้าด้วย ภาษา Perl ที่มีชื่อเสียงในเรื่องของการจัดการกับข้อความนั้น มีฟังก์ชันมากมายที่ช่วยในเรื่องนี้ หนึ่งในนั้นคือฟังก์ชัน index และ rindex. วันนี้เราจะมาดูกันว่า rindex, หรือ string last index of, ทำงานอย่างไรใน Perl และมีอะไรที่น่าสนใจบ้าง พร้อมตัวอย่าง code และ usecases ในโลกจริงที่จะทำให้คุณเข้าใจลึกซึ้งถึงความสำคัญของมันในการเขียนโปรแกรม....
Read More →บทความ: เริ่มต้นการสร้าง Tiger Drawing ด้วย GUI ภาษา Rust คำอธิบายและตัวอย่างที่ใช้ได้จริง...
Read More →ไตเติล: สร้างกราฟทิศทางด้วยตัวเองในภาษา Rust โดยใช้ Matrix ไม่ง้อ Library...
Read More →