รายวิชา ระดับปริญญาศึกษา

รหัสวิชา

 

ชื่อวิชา

4122202

 
 
โครงสร้างข้อมูล
(
DATA STRUCTURE)
  ผู้สอน :  ปรมัตถ์ปัญปรัชญ์  ต้องประสงค์    โทร. 022445234-5 หรือ 022445740 email:phorramatpanyaprat@hotmail.com
     

คำอธิบาย  รายวิชา

 

ความรู้เบื้องต้นเกี่ยวกับโครงสร้างข้อมูล การประมวลผลข้อมูลสตริงก์(String Processing)

อะเรย์ เรคคอร์ด และพอยน์เตอร์ (Arrays, Records and Pointers) ลิงค์ลิสก์ (Linked List) สแตก(Stacks) คิว(Queues) การเวียนเกิด (Recursion)  ต้นไม้(Tree) กราฟและการประยุกต์ใช้ (Graphs and Their Applications) การเรียกและการค้นหาข้อมูล (Sorting and Searching)

 

จุดประสงค์

 

1. เพื่อให้นักศึกษามีความรู้โครงสร้างข้อมูลพื้นฐานของคอมพิวเตอร์ และการประมวลผลข้อมูลที่เกี่ยข้อง

   

2. เพื่อให้นักศึกษามีทักษะในการออกแบบขั้นตอนและโครงสร้างข้อมูลที่เหมาะสมและมีประสิทธิภาพของโปรแกรม

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

ผลการเรียนรู้

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

สัปดาห์ที่ 1

  รายการเรียน  [PDF]
 
ความสำคัญของวิชาโครงสร้างข้อมูลและอัลกอริทึม [PDF]
   
1.1 ชนิดของข้อมูล
 
1.1.1 ชนิดของข้อมูล
 
1.1.2 โครงสร้างข้อมูล
 
1.1.3 ชนิดของข้อมูลในภาษาซี
  1.2 การแทนที่ข้อมูลเชิงเดี่ยวในหน่วยความจำ
  1.2.1 การแทนที่ข้อมูลตรรก และอักขระ
 
1.2.2 การแทนที่ข้อมูลจำนวนเต็มและจำนวนจริง
 
1.3 ทบทวนการใช้โปรแกรมภาษาซี  [PDF]

สัปดาห์ที่ 2

 
แถวลำดับและระเบียนข้อมูล[PDF]
    Array and Record
 
2.1 ชนิดข้อมูลแบบแถวลำดับ
  2.1.1 การกำหนดคุณลักษณะเฉพาะของแถวลำดับ
 
2.1.2 พารามิเตอร์ของแถวลำดับ และการจัดเก็บข้อมูลแถวลำดับในหน่วยความจำ
 
2.2 ชนิดข้อมูลแบบระเบียน
 
2.2.1 การกำหนดคุณลักษณะเฉพาะของระเบียน
  2.2.2 พารามิเตอร์ของระเบียนและการจัดเก็บข้อมูลชนิดระเบียนในหน่วยความจำ
  2.3 การใช้แถวลำดับและระเบียนในการจัดเก็บข้อมูล
  2.3.1 การใช้แถวลำดับและระเบียนในการจัดเก็บข้อมูล
  2.3.2 ตัวอย่างการประยุกต์ใช้แถวลำดับและระเบียนในการจัดเก็บข้อมูลและการประมวลผล

สัปดาห์ที่ 3

 
เซ็ตและข้อความ [PDF]
    Set and String
 
3.1 การจัดสรรเนื้อที่ในหน่วยความจำให้กับตัวแปร
 
3.1.1 การจัดสรรเนื้อที่แบบสแตติก
 
3.1.2 การจัดสรรเนื้อที่แบบไดนามิก
  3.2 ข้อความ
  3.2.1 การกำหนดประเภทข้อความ
  3.2.2 การสร้างข้อความกับตัวแปรในหน่วยความจำ

สัปดาห์ที่ 4

 
ลิงค์ลิสต์ [PDF]
    Linked List
 
4.1 โครงสร้างข้อมูลแบบลิงค์ลิสต์
 
4.1.1 การกำหนดคุณลักษณะเฉพาะของลิงค์ลิสต์
 
4.1.2 การสร้างลิงค์ลิสต์ด้วยอะเรย์
 
4.1.3 การสร้างลิสต์ด้วยลิงค์ลิสต์
  4.1.4 การใช้และการทดสอบลิงค์ลิสต์
  4.2 การประยุกต์ใช้ลิงค์ลิสต์        
  4.2.1 การใช้ลิงค์ลิสต์ในการจัดเก็บข้อมูล
  4.2.2 การใช้ลิงค์ลิสต์ในการเรียงลำดับข้อมูล

สัปดาห์ที่ 5

 
สแตก [PDF]
    Strack
 
5.1 สแตก
  5.1.1 การกำหนดคุณลักษณะเฉพาะของสแตก
  5.1.2 การสร้างสแตกด้วยอะเรย์
  5.1.3 การสร้างสแตกด้วยลิงค์ลิสต์
  5.1.4 การใช้และการทดสอบสแตก
  5.1.5 เปรียบเทียบประสิทธิภาพของการสร้างสแตกด้วยอะเรย์และลิงค์ลิสต์
  5..2 การประยุกต์ใช้แสตก
  5.2.1 การจัดการหน่วยความจำ
  5.2.2 การใช้สแตกในกระบวนการเรียกใช้โพรซีเดอร์หรือฟังก์ชัน
 
5.2.3 การคำนวณค่าของนิพจน์เลขคณิต

สัปดาห์ที่ 6

 
คิว [PDF]
    Queue
 
6.1 ชนิดข้อมูลแบบคิว
 
6.1.1 การกำหนดคุณลักษณะเฉพาะของคิว
  6.1.2 การสร้างคิวด้วยอะเรย์
  6.1.3 การสร้างคิวด้วยลิงค์ลิสต์
  6.1.4 การใช้และการทดสอบคิว
  6.2 การประยุกต์ใช้คิว
 
6.2.1 ระบบการให้บริการต่าง  ๆ

สัปดาห์ที่ 7

 
สอบกลางภาค [Midterm Examination]

สัปดาห์ที่ 8

 
ต้นไม้และการประยุกต์ใช้งาน [PDF]
    Trees and Application
 
8.1 นิยามและการประยุกต์ใช้งาน
 
8.1.1 นิยามของต้นไม้
 
8.1.2 การประยุกต์ต้นไม้
 
8.2 การสร้างและการดำเนินการต่าง ๆ   
  8.2.1 การสร้างต้นไม้
  8.2.2 การดำเนินการต่าง ๆ กับต้นไม้

สัปดาห์ที่ 9

 
ต้นไม้และการประยุกต์ใช้งาน (ต่อ)

สัปดาห์ที่ 10

 
กราฟ  [PDF]
    Graphs
 
10.1 แนวคิดพื้นฐานเกี่ยวกับกราฟ
 
10.1.1 ประเภทของกราฟ
 
10.1.2 เส้นทาง
 
10.1.3 เวอร์เท็กซ์ประชิด
  10.1.4 ไซเคิลและลูป
  10.1.5 ความต่อเนื่องของกราฟ
  10.1.6 ดีกรี
 
10.2 การดำเนินการของกราฟ
 
10.2.1 การแทรกเวอร์เท็กซ์
  10.2.2 การลบเวอร์เท็กซ์
  10.2.3 การเพิ่มเอดจ์
  10.2.4 การลบเอดจ์
  10.2.5 การค้นหาเวอร์เท็กซ์
  10.2.6 การท่องเข้าไปในกราฟ
  10.3 โครงสร้างการจัดเก็บข้อมูลในกราฟ
  10.3.1 แมทริกซ์ประชิด
  10.3.2 ลิสต์ประชิด
  10.4 อัลกอริทึมที่ใช้ในงานกราฟ
  10.5 เครือข่าย
  10.5.1 Minimum Spanning Tree
  10.5.2 Shortest Path Algorithm

สัปดาห์ที่ 11

 
การประยุกต์ใช้กราฟ (ต่อ)

สัปดาห์ที่ 12

 
การเรียงลำดับข้อมูล [PDF]
   
12.1 ประเภทของการเรียงลำดับ
  12.1.1 การเรียงลำดับข้อมูลแบบภายใน
 
12.1.2 การเรียงลำดับข้อมูลแบบภายนอก
  12.2 ลำดับการจัดเรียง
  12.3 ความคงที่ในการเรียงลำดับข้อมูล
  12.4 ประสิทธิภาพของกาเรียงลำดับข้อมูล
 
12.5 วิธีการเรียงลำดับ
 
- Insertion Sort
  - Heap Sort
  - Selection Sort
 
- Merge Sort
  - Quick Sort
  - Bubble Sort
  - Radix Sort
  12.2 การเรียงลำดับข้อมูลในลักษณะพิเศษ

สัปดาห์ที่ 13

 
การเรียงลำดับข้อมูล (ต่อ)

สัปดาห์ที่ 14

 
ตารางแฮซ [PDF]
    Hash Table
 
14.1 ตารางการเข้าถึงแบบตรง
 
14.2 ตารางแฮซ
 
14.3 การชนกันของข้อมูล
 
14.4 การแก้ปัญหาการชนกันของข้อมูล
  14.5 วิธีการสร้างฟังก์ชันแฮซ

สัปดาห์ที่ 15

 
ทบทวน บทเรียน สรุป ตอบข้อซักถาม [PDF]

สัปดาห์ที่ 16

 
สอบปลายภาค (กรณีสอบนอกตาราง)

การวัดและประเมินผล

 
1.1.วัดความเข้าใจ และความสามารถในการเรียน
 
2.วัดความสามารถนำเสนอกรณีศึกษาด้านการจัดการชนิดของข้อมูล
 
3.วัดความสามารถในการศึกษาพัฒนาระบบข้อมูล
 
4.วัดความเข้าใจในการวางระบบพื้นฐานของโครงสร้างข้อมูล
 
5.วัดความสามารถในการวิเคราะห์ข้อมูลจากโครงสร้างข้อมูล

การวัดผล

 
คะแนนเต็ม 100 แบ่งเป็น  2 ส่วน ดังนี้
   
1.คะแนนระหว่างภาค     ร้อยละ     60
   
    1.1 การนำเสนองานและการมีส่วนร่วมในกิจกรรมการเรียน  ร้อยละ 10
   
    1.2 การจัดทำรายงาน/แบบฝึกหัด                                  ร้อยละ 30
   
    1.3 สอบเก็บคะแนน                         ร้อยละ 20
   
2. คะแนนสอบปลายภาค   ร้อยละ   40
   
 

การประเมินผล

 
เกณฑ์การประเมินผล ใช้วิธีอิงเกณฑ์ ดังนี้
   
ระดับการเรียน  
ค่าร้อยละ   ความหมายค่า  ระดับคะแนน
   
A        
95-100 ดีเยี่ยม 4.00
   
B+
85-89 ดีมาก 3.50
   
B 
75-84 ดี 3.00
   
C+
70-74 ดีพอใช้ 2.50
   
C
60-69 พอใช้ 2.00
   
D+
59-55 อ่อน 1.50
   
D
50-54 อ่อนมาก 1.00
   
F
ต่ำกว่า 50 ตก 0.00
     
    งานที่มอบหมาย
     
     
     
     
     
     
     
     
    แหล่งอ้างอิง/เอกสาร-สื่อที่ใช้ในการอ้างอิงประกอบการเรียน
1.  
1.ตำราหลักที่ใช้
 
 

นิตณา  วิเศษชัยนุสรณ์, ผศ.,โครงสร้างข้อมูล.กรุงเทพมหานคร : โครงการศูนย์หนังสือมหาวิทยาลัยราชภัฏ

        สวนดุสิต : 2550.

2.  
1.Website อ้างอิง
    http://www.arc.dusit.ac.th
  http://dusithost.dusit.ac.th/!phorramatpanyaprat_ton
  http://www.google.co.th
  เวปไซต์ที่เกี่ยวข้องกับโครงสร้างข้อมูล และอัลกอริทึม
3.  
1.หนังสืออ่านประกอบ
   

จรณิต แก้วกังวาล.(2547).โครงสร้างไฟล์ข้อมูล อัลกอริทึมและการจัดการไฟล์ข้อมูล.

           กรุงเทพมหานคร : ซีเอ็ดยูเคชั่น.

  ชิดชนก เหลือสินทรัพย์.(2543). Analysis & Design of Algorithm. กรุงเทพมหานคร: ดี แอล เอส.
 

นิรุต  อำนวยศิลป์.(2548).โครงสร้างข้อมูล:การเขียนโปรแกรมและการประยุกต์.                                              

          กรุงเทพมหานคร: ด่านสุทธาการพิมพ์.

  นิสาชล  โตอดเทพย์.(2537). โครงสร้างข้อมูล. กรุงเทพมหานคร: โอเดียนสโตร์.
 

วิวัฒน์  อภิสิทธิ์ภิญโญ และอมร  มุสิกสาร. (2548). โครงสร้างข้อมูล.นครราชสีมา: โชคเจริญมาร์เก็ตติ้ง.

 

สุรชาติ พ่วงพุ่ม.(2547). โครงสร้างข้อมูลกับปาสคาล. กรุงเทพมหานคร : ศูนย์ผลิตตำราเรียนสถาบัน

            เทคโนโลยีพระจอมเกล้าพระนครเหนือ.
 

สมพิศ โกศัลวัฒน์.รศ..(2541). โครงสร้างข้อมูลและอัลกอริทึม. CS 243 (341). กรุงเทพมหานคร :

           คณะวิทยาศาสตร์ มหาวิทยาลัยรามคำแหง.
 

สุชาย ธนวเสถียร และวิชัย จิวังกูร.(2545). โครงสร้างข้อมูล เพื่อการออกแบบโปรแกรมคอมพิวเตอร์.

           กรุงเทพมหานคร : ซีเอ็ดยูเคชั่น.
 

ยืน  ภู่วรวรรณ และคณะ.(2547) . โครงสร้างข้อมูล และอัลกอริทึม. กรุงเทพมหานคร: ด่านสุทธา

           การพิมพ์.
 

โอภาส  เอี่ยมสิริวงศ์.(2549).โครงสร้างข้อมูล (Data Structure) เพื่อการออกแบบโปรแกรม                          

           คอมพิวเตอร์. กรุงเทพมหานคร: ซีเอ็ดยูเคชั่น.

 

Carrano, F.M.,Helman, P.,&Veroff, R.(1998). Data abstraction and Problem solving with C++

             walls and mirrors. (2nd  ed.). MA:Addison-Wesley.

 

Gilberg, R.F.,&Forouzan, B.A.(2001). Data structures A Pseudocode Approach with C++.

             Australia: Brook/Cole.

 

Lipschutz, S.(1986). Schaum s Ouline of Theory and Problems of Data structures. Sigapore:

             McGraw-Hill.
  Sahni, S.(1998). Data Structure, algorithms, and application in C++. Sigapore:McGraw-Hill.
  Stabdish, Thomas A.(1994). Data structures Algorithms and Software. MA: Addision-Wesley.
  Wirth, N.(1976) . Algorithms + Data Structures=Programs. New Jersey: Prentice-Hall.
4.  
1.CD-ROM
5.  
1.กรณีศึกษาด้านงานที่เกี่ยวข้องกับการใช้โครงสร้างข้อมูล
6.  
1.เอกสารประกอบการบรรยาย
     
     
     
     

 

+ up .

 

 

SOURCE CODE

 

DSVB_SOURCECODE