รายละเอียด
โครงสร้างข้อมูลและขั้นตอนวิธี / 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. ฝึกปฏิบัติการเขียนโปรแกรมเรียงลำดับข้อมูลแบบต่างๆ
สอบปลายภาค
กิจกรรม : -