รายละเอียด

โครงสร้างข้อมูลและอัลกอริทึม / Data Structure and Algorithm

  • 17 สัปดาห์
  • จำนวนนักศึกษา 0 คน
  • อาจารย์ผู้สอน 1 คน

ข้อมูลรายวิชา

  • รหัสรายวิชา : BBAIS903
  • ชื่อรายวิชา(TH) : โครงสร้างข้อมูลและอัลกอริทึม
  • ชื่อรายวิชา (EN) : Data Structure and Algorithm
  • เทอม / ปีการศึกษา : 1/2563

รายละเอียด

ศึกษาและฝึกปฏิบัติเกี่ยวกับแนวคิดทฤษฎีโครงสร้างข้อมูล โครงสร้างข้อมูลแบบเชิงเส้น โครงสร้างข้อมูลไม่เชิงเส้น การวิเคราะห์ประสิทธิภาพและความซับซ้อนของอัลกอริทึม เทคนิคการเรียงลำดับข้อมูลในหน่วยความจำแบบต่าง ๆ การค้นหาข้อมูล การเขียนโปรแกรมเพื่อการจัดการกับโครงสร้างข้อมูลแบบต่าง ๆ การประยุกต์ใช้โครงสร้างข้อมูลเพื่อแก้ปัญหา
The study and practice of theories and concepts of data structure, linear and nonlinear data structure, analysis efficiency and sophisticated algorithm, sorting and searching data techniques in memory including programming practices to deal with data structures, as well as application of data structures to solve problems.

รายวิชา - โครงสร้างข้อมูลและอัลกอริทึม

ความรู้เบื้องต้นเกี่ยวกับ
-Computer Algorithms
-Analysis
-Design
-Coding/Programming
-Testing/Debugging
-Documentation
แบบฝึกหัดเรื่อง ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูล

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แบบฝึกหัด ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูล

โครงสร้างข้อมูลแบบ Array
-Dynamic Arrays
-Multidimensional Arrays

กิจกรรม : -บรรยายประกอบสื่อการนำเสนอ

โครงสร้างข้อมูลแบบ Array
-การประยุกต์ใช้ Arrays
-การบวก Matrix
-กำหนดตัวแปร Arrays
-อาร์เรย์สามมิติ
-อาร์เรย์ที่ผิดปกติ

กิจกรรม : -บรรยายประกอบสื่อการนำเสนอ
-แสดงตัวอย่างโปรแกรมของ Arrays
-การอภิปรายรูปแบบของ Arrays
-นักศึกษาปฏิบัติการสร้างสื่อนำเสนอการออกแบบอัลกอริทึมแบบ Array

สตริง (String)
-Operation ของ String ฟังก์ชันต่าง ๆ ของอัลกอริทึม
-ตัวอย่างโปรแกรมการใช้งานฟังก์ชันสตริง
แบบฝึกหัดข้อมูล Strings

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างโปรแกรมที่ทำงานโดยใช้ Strings

โครงสร้างข้อมูลแบบ Stack
-แนวคิดของ Stack
-Operation ของ Stack
-Push
-Pop
-การประยุกต์ใช้งาน Stack
-เขียนประโยค
-แปลงรูปนิพจน์คณิตศาสตร์
แบบฝึกหัดโครงสร้างแบบ Stack

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-นักศึกษาฝึกปฏิบัติการประยุกต์ใช้โครงสร้างข้อมูลแบบ Stack ในการออกแบบอัลกอริทึม
-แบบฝึกหัดโครงสร้างแบบ Stack

โครงสร้างข้อมูลแบบ Queue
-แนวคิดของ Queue
-Operation ของ Queue
-คิวแบบวงกลม
-การประยุกต์ใช้งานคิว
แบบฝึกหัดโครงสร้างข้อมูลแบบ Queue

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-ตัวอย่างการประยุกต์ใช้งานของคิว
-นักศึกษาฝึกปฏิบัติการประยุกต์ใช้โครงสร้างข้อมูลแบบ Queue ในการออกแบบอัลกอริทึม
-แบบฝึกหัดโครงสร้างข้อมูลแบบ Queue

โครงสร้างแบบลิงค์ลิสต์ (Linked List)
-Operation ของ Linked List
-เพิ่มข้อมูล
-ลบข้อมูล
-Link-List แบบวงกลม
-Link-List แบบ 2 ทิศทาง
-การประยุกต์ใช้งานลิงค์ลิสต์
แบบฝึกหัดโครงสร้างข้อมูลแบบ Linked List

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างการประยุกต์ใช้งานของ Linked List
-นักศึกษาฝึกปฏิบัติในการออกแบบอัลกอริทึมโดยใช้โครงสร้างข้อมูลแบบ Linked List
-แบบฝึกหัดโครงสร้างข้อมูลแบบ Linked List

สอบกลางภาค
กิจกรรม : สอบทฤษฎีและสอบปฏิบัติ

การเรียกตัวเอง (Recursive)
-การประยุกต์ใช้งาน Recursive
-อัลกอริทึมแบบย้อนรอย
แบบฝึกหัดเรื่อง การเรียกตัวเอง

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างโปรแกรมแบบ Recursive

โครงสร้างข้อมูลแบบต้นไม้ Tree
-Binary Tree
-แบบสมบูรณ์
-Traversal
-การใช้ Array ในโครงสร้างแบบ Tree

กิจกรรม : -บรรยายประกอบสื่อการสอน
-แสดงตัวอย่างโครงสร้างข้อมูลแบบ Tree

-Binary Search Tree
-การสร้าง Binary Search Tree
-วิธีการเพิ่ม ลด และข้อจำกัด
ของ Tree

กิจกรรม : -บรรยายประกอบสื่อการสอน
-นักศึกษาฝึกปฏิบัติการออกแบบโครงสร้างข้อมูลแบบ Tree ในรูปแบบ Binary Search Tree

-Binary Search Tree
-ต้นไม้ที่มีความสูงสมดุล
-วิธีการสร้าง
-วิธีการปรับโครงสร้าง
-Heap Tree
-ประเภทของ Heap Tree
-การเพิ่ม การลบโครงสร้าง
-B-Tree
-กฎของ B-Tree
-วิธีการสร้าง B-Tree
-การเพิ่ม การลบโครงสร้าง
แบบฝึกหัด โครงสร้างข้อมูลแบบต้นไม้

กิจกรรม : -บรรยายประกอบสื่อการสอน
-นักศึกษาฝึกปฏิบัติการออกแบบโครงสร้างข้อมูลแบบ Tree ในรูปแบบ Balance Tree, Heap Tree
-นักศึกษาอภิปรายประสิทธิภาพของการสร้างโครงสร้างข้อมูลแบบ Tree ร่วมกัน
-แบบฝึกหัด โครงสร้างข้อมูลแบบต้นไม้

โครงสร้างข้อมูลแบบกราฟ
-กราฟ
-ประเภทของกราฟ
-การแทนที่กราฟด้วย Matrix
-Adjacency Matrix
-Graph Traversal
-Minimum Spanning Tree
-Shortest Path Algorithm
แบบฝึกหัด โครงสร้างข้อมูลแบบกราฟ

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างโปรแกรมที่มีการประยุกต์ใช้งานกราฟ
-นักศึกษาฝึกปฏิบัติการออกแบบโครงสร้างข้อมูลแบบกราฟ
-แบบฝึกหัด โครงสร้างข้อมูลแบบกราฟ

การเรียงลำดับข้อมูล (Sorting)
-การเรียงลำดับข้อมูล
-ตารางดัชนี
-การรวม/การบีบอัดคีย์
อัลกอริทึมในการเรียงลำดับข้อมูล
-Insertion
-Selection
-Heap
-Bubble
-Quick
-Marge
การเปรียบเทียบอัลกอริทึมที่ใช้ในการเรียงลำดับ
แบบฝึกหัดเรื่อง การเรียงลำดับข้อมูล

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างอัลกอริทึมที่ใช้ในการเรียงลำดับข้อมูลในแต่ละแบบ
-แบบฝึกหัดเรื่อง การเรียงลำดับข้อมูล

การค้นหาข้อมูล (Searching)
-อัลกอริทึมในการค้นหาข้อมูล
-Sequential Search
-Binary Search
-Hashing
-การแก้ปัญหาการชนกันของตาราง Hashing
-เปรียบเทียบอัลกอริทึมในการค้นหา
แบบฝึกหัดเรื่อง การค้นหาข้อมูล

กิจกรรม : -บรรยายประกอบสื่อนำเสนอ
-แสดงตัวอย่างวิธีการ Hashing แบบต่าง ๆ
-นักศึกษาฝึกปฏิบัติการสร้าง Hashing และการค้นหาข้อมูล
-นักศึกษาอภิปรายประสิทธิภาพของการค้นหาข้อมูลและการ Hashing
-แบบฝึกหัดเรื่อง การค้นหาข้อมูล

ทบทวน
กิจกรรม : ทบทวนเนื้อหาที่เรียนมา
แบบฝึกหัดทบทวน

สอบปลายภาค
กิจกรรม : สอบทฤษฎี

อาจารย์ผู้สอน