รายละเอียด
โครงสร้างข้อมูลและอัลกอริทึม / 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
1.การ Implement PUSH and POP opration
เฉลยแบบฝึกหัด 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
สอบภาคปฏิบัติ