A Comparison on Quick and Bubble sort on large scale data
จัดทำโดย นายชนาธิป ใจดี รหัสนิสิต 54160238 คณะวิทยาการสารสนเทศ สาขาเทคโนโลยีสารสนเทศ
หัวข้อที่จะนำเสนอ ที่มาของปัญหา วัตถุประสงค์ของโครงงาน แนวทางการพัฒนาโครงงาน ขอบเขตของโครงงาน ประโยชน์ที่คาดว่าจะได้รับ ทรัพยากรที่ใช้ในการดำเนินโครงงาน เวลาที่ใช้ในการดำเนินโครงงาน 3
ที่มาของปัญหา ในปัจจุบันขั้นตอนวิธีสำหรับแก้ปัญหาการจัดเรียงข้อมูลมีการค้นคิดขึ้นมามากมายหลายวิธี ซึ่งการจัดเรียงข้อมูลทางคอมพิวเตอร์แบ่งเป็นประเภทหลักๆได้ 2 ประเภท คือ การจัดเรียงภายในและการจัดเรียงภายนอก การจัดเรียงภายใน (Internal sorting) คือ การจัดเรียงข้อมูลทั้งหมดถูกเก็บไว้ในหน่วยความจำหลัก (Ram) การจัดเรียงแบบนี้ได้แก่ การจัดเรียงแบบบับเบิล (Bubble sort), การจัดเรียงแบบแทรก (Insertion sort), การจัดเรียงแบบเลือก (Selection sort), การจัดเรียงแบบเซลล์ (Shell sort), การจัดเรียงแบบเรดิกซ์ (Radix sort), การจัดเรียงแบบเร็ว (Quick sort) เป็นต้น 4
ที่มาของปัญหา (ต่อ) การจัดเรียงภายนอก (External sorting) คือ การจัดเรียงข้อมูลที่ใช้หน่วยความจำสำรองร่วมกับหน่วยความจำหลัก การจัดเรียงแบบนี้ได้แก่ การจัดเรียงแบบผสาน (Merge sort) โครงงานนี้จะกล่าวถึงการจัดเรียงภายในที่มีประสิทธิภาพ คือ Quick กับ Bubble Sort เพราะในปัจจุบันการจัดเรียงภายในถูกใช้ในโปรแกรมประยุกต์ต่าง ๆ เป็นจำนวนมาก และการจัดเรียงแบบภายในเป็นวิชาพื้นฐานของการศึกษาด้านคอมพิวเตอร์ วิธีการจัดเรียงภายในหลาย ๆ วิธีต่างมีข้อดี ข้อเสีย และแนวทางการปรับปรุงประสิทธิภาพที่แตกต่างกัน โครงงานนี้เป็นการเปรียบเทียบการจัดเรียงข้อมูลแบบ Quick กับ Bubble Sort บนข้อมูลที่มีขนาดใหญ่เพื่อให้ได้ประสิทธิภาพของการทำงานที่ดีที่สุดกับการเรียงลำดับ 5
วัตถุประสงค์ของโครงงาน เพื่ออธิบายการเรียงลำดับภายในแบบ Quick and Bubble Sort เพื่อศึกษา/ปฏิบัติ เปรียบเทียบการเรียงข้อมูลแบบ Quick and Bubble Sort บนข้อมูลที่มีขนาดใหญ่ สรุปเปรียบเทียบการทำงานระหว่าง Quick กับ Bubble Sort ตามที่ได้ศึกษาไว้ เพื่อเป็นโครงงานต้นแบบสำหรับโครงงานอื่น ที่ต้องใช้ทฤษฎีพื้นฐานในการจัดทำคล้ายคลึงกัน 6
แนวทางการพัฒนาโครงงาน ศึกษาการทำงานของระบบงานเดิม วิเคราะห์ปัญหาของโครงงาน เขียนโปรแกรมเพื่อใช้เปรียบเทียบ ทดสอบเปรียบเทียบและประเมินผล 7
ขอบเขตของโครงงาน ศึกษาการเปรียบเทียบการจัดเรียงข้อมูลแบบ Quick and Bubble Sort ในโครงงานนี้จะใช้ข้อมูลที่เป็นจำนวนเต็ม และพิจารณาการเรียงแบบค่าน้อยไปมากเท่านั้น ศึกษา/ปฎิบัติ เขียนโปรแกรมการเปรียบเทียบ Quick and Bubble Sort ด้วยภาษา Java ที่ได้ทำการศึกษาไว้ข้างต้น เปรียบเทียบการทำงานระหว่าง Quick กับ Bubble Sort ด้วยผลต่างวัดจากเวลาการทำงาน 8
ประโยชน์ที่คาดว่าจะได้รับ ผลการศึกษาเปรียบเทียบระหว่าง Quick กับ Bubble Sort ที่ใช้ข้อมูลหลายๆแบบ ได้ผลสรุปของการเปรียบเทียบของการจัดเรียงแบบ Quick and Bubble Sort เป็นต้นแบบของโครงงานในสาขาที่เกี่ยวข้อง 9
ทรัพยากรที่ใช้ในการดำเนินโครงงาน ด้านฮาร์ดแวร์ (Hardware) หน่วยประมวลผลกลาง (CPU) ความเร็วอย่างน้อย 1 GHz หน่วยความจำหลัก (RAM) มีความจุอย่างน้อย 512 MB หน่วยความจำสำรอง (Hard disk) มีเนื้อที่อย่างน้อย 100 GB ด้านซอฟต์แวร์ (Software) ระบบปฏิบัติการ Windows7 โปรแกรม Eclipse , Netbeans , Notepad++ 10
เวลาที่ใช้ในการดำเนินโครงงาน ขั้นตอนการดำเนินงาน ระยะเวลาการดำเนินงาน (เดือน) ต.ค. 56 พ.ย. 56 ธ.ค. 56 ม.ค. 57 ก.พ. 57 1. ศึกษาโครงสร้างการทำงาน Quick and Bubble Sort 2.วิเคราะห์เปรียบเทียบการทำงานระหว่าง Quick and Bubble Sort 3. ขั้นตอนเขียนโปรแกรม 4. สรุปผลการทดสอบและประเมิน 11
ขอบคุณครับ