รายละเอียด

โครงสร้างข้อมูลและขั้นตอนวิธี / Data Structures and Algorithms

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

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

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

รายละเอียด

รายวิชา - โครงสร้างข้อมูลและขั้นตอนวิธี

ภาคบรรยาย
แนะนำรายวิชาและเกณฑ์การเก็บคะแนน
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูล
- ความหมายของโครงสร้างข้อมูล
- ประเภทของโครงสร้างข้อมูล
- ชนิดข้อมูลนามธรรม
ภาคปฎิบัติ
การสร้างรูปแบบชนิดของข้อมูล

กิจกรรม : 1. ชี้แจงแนวการสอน รายละเอียดของรายวิชา
2. ข้อตกลงเบื้องต้นในการเรียน
3. การบรรยายเนื้อหา พร้อมยกตัวอย่างประกอบ
4. อภิปรายลักษณะของโครงสร้างข้อมูล
5. นักศึกษาฝึกปฏิบัติตามแบบฝึกปฎิบัติการ

ภาคบรรยาย
บทที่ 2 ขั้นตอนวิธี (Algorithm)
- ความหมายของขั้นตอนวิธี
- การเขียนขั้นตอนวิธี
- หลักการวิเคราะห์ขั้นตอนวิธี
- การเปรียบเทียบผลการวิเคราะห์ขั้นตอนวิธี
- อัตราการเติบโตของฟังก์ชัน
- การใช้สัญกรณ์เชิงเส้น
ภาคปฎิบัติ
การวิเคราะห์ขั้นตอนวิธี

กิจกรรม : 1. การบรรยายเนื้อหา
2. อภิปรายเกี่ยวกับขั้นตอนวิธี พร้อมทั้งยกตัวอย่าง
3. ปฏิบัติการวิเคราะห์ขั้นตอนวิธี

ภาคบรรยาย
บทที่ 3 โครงสร้างข้อมูลแบบอาร์เรย์ (Array)
- ความหมายของอาร์เรย์
- ลักษณะโครงสร้างของอาร์เรย์ขนาด 1, 2 และ 3 มิติ
- วิธีคำนวณหาแอดเดรสในอาร์เรย์ขนาด 1, 2 และ 3 มิติ
ภาคปฎิบัติ
การเขียนโปรแกรมและใช้งานอาร์เรย์

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานอาร์เรย์

ภาคบรรยาย
บทที่ 4 โครงสร้างข้อมูลแบบรายการโยง (Linked List)
- ลักษณะและโครงสร้างรายการโยงทางเดียว (Singly Linked List)
- ขั้นตอนวิธีการเข้าถึงข้อมูลในรายการโยงทางเดียว
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในรายการโยงทางเดียว
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานรายการโยงทางเดียว

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานรายการโยงทางเดียว

ภาคบรรยาย
บทที่ 4 โครงสร้างข้อมูลแบบรายการโยง (ต่อ)
- ลักษณะและโครงสร้างรายการโยงแบบวงกลม(Circularly Linked List)
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในรายการโยงแบบวงกลม
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานรายการโยงแบบวงกลม

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานรายการโยงแบบวงกลม

บทที่ 4 โครงสร้างข้อมูลแบบรายการโยง (ต่อ)
- ลักษณะและโครงสร้างรายการโยงสองทาง (Doubly Linked List)
- ขั้นตอนวิธีการเข้าถึงข้อมูลในรายการโยงสองทาง
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในรายการโยงสองทาง
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานรายการโยงสองทาง

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานรายการโยงสองทาง

ภาคบรรยาย
บทที่ 5 โครงสร้างข้อมูลคิว (Queue)
- ลักษณะและคุณสมบัติของโครงสร้างข้อมูลแบบคิว
- การสร้างคิว
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในคิว
- ลักษณะและคุณสมบัติของโครงสร้างข้อมูลคิววงกลม
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในคิววงกลม
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานโครงสร้างข้อมูลคิว

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

บทที่ 6 โครงสร้างข้อมูลกองซ้อน(Stack)
- ลักษณะและคุณสมบัติของโครงสร้างข้อมูลแบบกองซ้อน
- การสร้างโครงสร้างข้อมูลแบบกองซ้อน
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในโครงสร้างข้อมูลแบบกองซ้อน
- ลักษณะของนิพจน์อินฟิกส์และโพสฟิกส์
- ขั้นตอนวิธีการแปลงนิพจน์อินฟิกส์เป็นโพสฟิกส์
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานโครงสร้างข้อมูลแบบกองซ้อน


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

สอบกลางภาค
กิจกรรม : -

ภาคบรรยาย
บทที่ 7 โครงสร้างข้อมูลต้นไม้ (Tree)
- ลักษณะโครงสร้างข้อมูลต้นไม้
- รูปแบบการนำเสนอโครงสร้างข้อมูลต้นไม้
- ลักษณะต้นไม้แบบทวิภาค (Binary Tree)
- ขั้นตอนวิธีการแวะผ่านต้นไม้แบบทวิภาค
ภาคปฎิบัติ
เขียนโปรแกรมสร้างโครงสร้างข้อมูลต้นไม้ทวิภาค และแวะผ่านต้นไม้ทวิภาค

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานโครงสร้างข้อมูลต้นไม้

ภาคบรรยาย
บทที่ 7 โครงสร้างข้อมูลต้นไม้ (ต่อ)
- ลักษณะต้นไม้ค้นหาแบบทวิภาค
- ขั้นตอนวิธีการค้นหาข้อมูลในต้นไม้ค้นหาแบบทวิภาค
- ขั้นตอนวิธีการเพิ่มและลบข้อมูลในต้นไม้ค้นหาแบบทวิภาค
ภาคปฎิบัติ
เขียนโปรแกรมสร้างและใช้งานโครงสร้างข้อมูลต้นไม้ค้นหาแบบทวิภาค

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานโครงสร้างข้อมูลต้นไม้

ภาคบรรยาย
บทที่ 8 โครงสร้างข้อมูลแบบกราฟ (Graph)
- ลักษณะและชนิดของกราฟ
- วิธีการแทนกราฟ
- ขั้นตอนวิธีการแวะผ่านกราฟ
ภาคปฎิบัติ
เขียนโปรแกรมและใช้งานโครงสร้างข้อมูลกราฟ

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมและใช้งานโครงสร้างข้อมูลกราฟ

ภาคบรรยาย
บทที่ 8 โครงสร้างข้อมูลแบบกราฟ (ต่อ)
- ขั้นตอนวิธีการหาต้นไม้ทอดข้ามน้อยที่สุด
- ขั้นตอนวิธีการค้นหาระยะทางที่สั้นที่สุด
ภาคปฎิบัติ
เขียนโปรแกรมหาต้นไม้ทอดข้ามน้อยที่สุด และค้นหาระยะทางที่สั้นที่สุด

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

บทที่ 9 การค้นหาข้อมูล
- การค้นหาข้อมูลแบบลำดับ (Sequential Search)
- การค้นหาข้อมูลแบบทวิภาค (Binary Search)
- การค้นหาด้วยวิธีแฮชชิง (Hashing Search)
ภาคปฎิบัติ
เขียนโปรแกรมค้นหาข้อมูลแบบต่างๆ

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมค้นหาข้อมูลแบบต่างๆ

ภาคบรรยาย
บทที่ 10 การเรียงลำดับ (Sorting)
- การเรียงลำดับแบบแทรก (Insertion Sort)
- การเรียงลำดับแบบเลือก (Selection Sort)
- การเรียงลำดับแบบฟอง (Bubble Sort)
ภาคปฎิบัติ
เขียนโปรแกรมเรียงลำดับข้อมูลแบบแทรก แบบเลือก และแบบฟอง

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมเรียงลำดับข้อมูลแบบต่างๆ

ภาคบรรยาย
บทที่ 10 การเรียงลำดับ (ต่อ)
- การเรียงลำดับแบบเร็ว (Quick sort)
- การเรียงลำดับแบบผสาน (Merge Sort)
ภาคปฎิบัติ
เขียนโปรแกรมเรียงลำดับข้อมูลแบบเร็ว และแบบผสาน

กิจกรรม : 1. การบรรยายเนื้อหา พร้อมทั้งยกตัวอย่างประกอบ
2. ฝึกปฏิบัติการเขียนโปรแกรมเรียงลำดับข้อมูลแบบต่างๆ

สอบปลายภาค
กิจกรรม : -

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