รายละเอียด

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

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

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

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

รายละเอียด

ศึกษาและปฏิบัติเกี่ยวกับการแนะน าแนวคิดพื้นฐานของโครงสร้างข้อมูลและ ขั้นตอนวิธี รวมถึงการเรียกซ้ า โครงสร้างข้อมูลแบบต่างๆ ทั้งที่เป็นเชิงเส้นและไม่ เป็นเชิงเส้นโครงสร้างข้อมูลพื้นฐาน สแตก คิว ลิสต์ โครงสร้างแบบต้นไม้และ กราฟ และเข้าใจการสืบค้นข้อมูลอัลกอริทึม พื้นฐานการวิเคราะห์ขั้นตอนวิธี

Study and work on the fundamental of data structures and algorithms including recursion. Study the several of data structures i.e. Linear Algorithm, Non-Linear Algorithm, Stack, Queue, List, Tree and Graph, and also understand about Algorithm Analysis.

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

ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูลและอัลกอริทึม

การใช้ผังงานแสดงลำดับขั้นตอนวิธี

นำความรู้จากการลำดับความคิด มาเขียนเป็นผังงาน อัลกอริทึม และพัฒนาเป็นโปรแกรม

◻แถวลำดับ (Arrays) คืออะไร

◻ลักษณะของอาร์เรย์

◻ประเภทของแถวลำดับ

⬜แถวลำดับมิติเดียว (One dimension arrays)

⬜แถวลำดับหลายมิติ (Multi-dimension arrays)

2. การวิเคราะห์ขั้นตอนวิธี และอัลกอริทึมการเรียกซ้ำ     

2.1 การวิเคราะห์ขั้นตอนวิธีหรืออัลกอริทึม      

2.1.1 ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์อัลกอริทึม

2.1.2 เวลาที่ใช้ในการประมวลผล

2.1.3 กฎที่ใช้วิเคราะห์อัลกอริทึม

2.2 ความรู้เกี่ยวกับอัลกอริทึมการเรียกซ้ำ

2.2.1 กฎเกณฑ์การออกแบบอัลกอริทึมการเรียกซ้ำ

2.2.2 การประมวลผลอัลกอริทึมการเรียกซ้ำ

2.3 ฝึกปฏิบัติการวิเคราะห์อัลกอริทึมจากโปรแกรมแบบทั่วไปและแบบการเรียกซ้ำ

2.3.1 ฝึกการเขียนโปรแกรมแบบการเรียกซ้ำ

2.3.2 ฝึกวิเคราะห์อัลกอริทึมโปรแกรมทั่วไป และแบบการเรียกซ้ำ

◻ลิสต์เชื่อมโยง (Linked List) คืออะไร

◻ลักษณะของลิสต์เชื่อมโยง

◻ประเภทของลิสต์เชื่อมโยง

⬜ลิสต์เชื่อมโยงทางเดี่ยว (Singly Linked List)

⬜ลิสต์เชื่อมโยง 2 ทาง (Doubly Linked List)

⬜ลิสต์เชื่อมโยงหลายทาง (Multi Linked List)

การพัฒนาโปรแกรม Operation of Linklist

◻สแตก (Stack) คืออะไร

◻ลักษณะของสแตก

◻โอเปอร์เรชั่นพื้นฐานที่ทำกับแสตก

◻ประโยชน์ของสแตก

⬜การใช้ สแตก เพื่อแปลงเลขฐานสิบเป็นเลขฐานสอง

⬜การใช้ สแตก เพื่อแปลงนิพจน์ทางคณิตศาสตร์

⬜Infix to Postfix Transformation

เฉลยแบบฝึกหัด infix to postfix

เขียนโปรแกรม infix to postfix

ทบทวนเนื้อหาตั้งแต่บทที่ 1-5

คิว (Queue) คืออะไร
ลักษณะของคิว
Queue Implementation
ประเภทของคิว
คิวธรรมดา (Queue)
คิววงกลม (Circular Queue)
คิวที่เรียงลาดับตามความสาคัญ (Priority Queue)

ปฏิบัติการ Queue

และบทนำของ Tree

การนำทรีไปใช้ประโยชน์

การแปลง Forest to Tree

การ Implement Tree

Binary Tree/Binary Search Tree

 

Preorder

Inorder

Postorder

Introduction of Graph

MST and Shortest Path

MST, DFS, BFS

การเรียงข้อมูล
Ascending VS. Descending Order
Selection Sort
Bubble Sort
InsertionSort
MergeSort

ปฏิบัติการการจัดเรียงข้อมูล

การค้นหาข้อมูล (Searching)

- การเปรียบเทียบค่า

- Sequential search

- Binary search

สอบภาคปฏิบัติ

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