Park-Kachen
01 มีนาคม 2554
สรุปสิ่งที่ได้รับจากการฝึกประสบการณ์วิชาชีพ
1.การตรงต่อเวลา
การฝึกประสบการณ์วิชาชีพในครั้งนี้ทำให้รู้ถึงชีวิตของการทำงานจริง สิ่งสำคัญอย่างยิ่งนั่นคือการตรงต่อเวลานั่นเอง หากมาทำงานสาย บุุคคลอื่นก็จะมองเป็นคนไม่มีความรับผิดชอบ อีกทั้งสถานที่ฝึกงานพี่ๆทุกคนเป็นคนตรงต่อเวลามาก ช่วยทำให้เรากระตุ้นต่อการทำงานได้เป็นอย่างดี
2. ความรับผิดชอบต่อหน้าที่
งานที่ได้รับมอบหมายในแต่ละครั้งควรให้บรรลุเป้าหมายตามที่ได้ตั้งเอาไว้ ต้องเสร็จก่อน 1 หรือ 2 วัน อะไรควรทำก่อน/หลัง
3. กิริยามารยาท
ในการพูดคุยกับผู้ใหญ่ควรพูดจาด้วยความไพเราะ เสมอ ด้วยใบหน้าที่ยิ้มแย้มแจ่มใส หรือในเรื่องมารยาทของการแต่งกายก็ควรให้เกียรติต่อสถานที่
4. ความอดทนอดกลั้น
ในทำงานจะต้องทำงานซ้ำๆ อยู่สม่ำเสมอ ความอดทนอดกลั้นสามารถเป็นที่ยึดเหนี่ยวจิตใจทำให้งานนั้นๆประสบความสำเร็จได้
5. การอยู่ร่วมอยู่กับผู้อื่น
ทำให้รู้จักการวางตัวให้เข้ากับคนทุกคนได้เป็นอย่างดี ไม่ว่าในเรื่องใดๆก็ตามกล้าที่จะถามปัญหา หรือสิ่งที่เราอยากสอบถาม สิ่งใดที่เขาสอนหรือแก้ไขก็ควรนำไปปฏิบัติ ซึ่งเป็นอีกทางหนึ่งของการสร้่างมนุษย์สัมพันธ์ที่ดี
6. สามารถนำความรู้ที่ได้เรียนมานำไปปฏิบัติงานจริง
28 กุมภาพันธ์ 2554
การปฏิบัติงานสัปดาห์ที่ 18
ไปรับบทข่าวที่ฝ่ายข่าว มีรอบเที่ยง และรอบเย็น เมื่อได้รับบทข่าวมาแล้วก็ทำการ Runscript ข่าว และตรวสอบดูว่าบทข่าวที่ได้รับมานี้มีข่าวไหนบ้างที่ได้ออกอากาศไปแล้ว และแต่ละเบรกมีข่าวในประเทศ ข่าวต่างประเทศ และ ข่าวกีฬา ทั้งหมดกี่ข่าว จากนั้ก็ทำการค้นหาข่าวจากเครื่อง Server กลาง อัพเดทข่าวในประเทศ ข่าวต่างประเทศและข่าวกีฬา รวมทั้งหมด 22 ข่าว อัพเดทข่าวละคร ป่านางเสือ Backup ข้อมูลลง DVD
ปัญหาและอุปสรรค์
1 เครื่องคอมพิวเตอร์ที่ใช้งานเกิด Error ขณะทำการอัพเดทข่าว
วิธีแก้ไขปัญหา
1 ทำการ Restart เครื่องคอมพิวเตอร์ใหม่
การปฏิบัติงานสัปดาห์ที่ 8
ปัญหาและอุปสรรค์
1 มีบางข่าวที่หาจากเครือง Server กลางแล้วไม่มี
วิธีแก้ไขปัญหา
1 ทำการพิมพ์ข่าวตามบทข่าวที่ได้รับมา
การปฏิบัติงานสัปดาห์ที่ 16
ทุกๆวันจะไปรับบทข่าวที่ฝ่ายข่าว วันละ 2 รอบ มีรอบเที่ยง และรอบเย็น เมื่อได้รับบทข่าวมาแล้วก็ทำการ Runscript ข่าว และตรวสอบดูว่าบทข่าวที่ได้รับมานี้มีข่าวไหนบ้างที่ได้ออกอากาศไปแล้ว และแต่ละเบรกมีข่าวในประเทศ ข่าวต่างประเทศ และ ข่าวกีฬา ทั้งหมดกี่ข่าว จากนั้ก็ทำการค้นหาข่าวจากเครื่อง Server กลาง อัพเดทข่าว ทั้งหมด 12 ข่าว ตัดคลิปข่าวทั้งหมด 107 คลิป อัพเดทตารางออกอากาศ 3 วัน
อัพเดทรายการ คลับสุขภาพ Backup ข้อมูลจากเครืองกลาง ไรท์ใส่แผ่น DVD
ปัญหาและอุปสรรค์
1 ในการ Backup ข้อมูลจากเครืองกลางลงแผ่นใช้เวลานาน
วิธีแก้ไขปัญหา
1 ทำการสร้างให้เป็นอิมเมจไฟล์ก่อนแล้วค่อยไรท์ใส่แผ่น
การปฏิบัติงานสัปดาห์ที่ 17
อัพเดทรายการ กระจกหกด้าน เกมส์พันหน้า คบเด็กสร้างบ้าน 7 สีคอนเสิร์ต โปรแกรมหังรอบเช้า Backup ข้อมูลจากเครืองกลาง ไรท์ใส่แผ่น DVD
ปัญหาและอุปสรรค์
1 ในการ Backup ข้อมูลจากเครืองกลางลงแผ่นใช้เวลานาน
วิธีแก้ไขปัญหา
1 ทำการสร้างให้เป็นอิมเมจไฟล์ก่อนแล้วค่อยไรท์ใส่แผ่น
20 กุมภาพันธ์ 2554
การปฏิบัติงานสัปดาห์ที่ 15
การปฏิบัติงานสัปดาห์ที่ 14
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
07 กุมภาพันธ์ 2554
การปฏิบัติงานสัปดาห์ที่ 13
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
30 มกราคม 2554
การปฏิบัติงานสัปดาห์ที่ 12
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
27 มกราคม 2554
การปฏิบัติงานสัปดาห์ที่ 11
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
2 เครื่องคอมพิวเตอร์ที่ใช้อยู่เมื่อใช้งานนานๆก็เกิดอาการ Error
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
2 ทำการ Restart เครื่องคอมพิวเตอร์ใหม่
การปฏิบัติงานสัปดาห์ที่ 10
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
การปฏิบัติงานสัปดาห์ที่ 9
ปัญหาและอุปสรรค์
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
19 ธันวาคม 2553
การปฏิบัติงานสัปดาห์ที่ 7
ปัญหาและอุปสรรค์ในสัปดาห์นี้ ยังคงทำหน้าที่เหมือนเดิม ไปรับบทข่าวที่ฝ่ายข่าวแล้วนำมาหาข่าวจากเครื่อง Server กลาง เมือ่หาข่าวเสร็จ ทำการตัดคลิปข่าย เพือเป็นข้อมูลในการอัพเดทข่าวในหน้าเว็บ ตัดคลิปข่าวทั้งหมด 130 คลิป อัพเดทรายการ เฮฮาหน้าซอย หนูน้อยกู้อีจู้ คนอวดผี อีเมาท์ 7 สีคอนเสิร์ต ตารางออกอากาศ อพัเดทข่าวทั่วไป ข่าวต่างประเทศ และข่าวบันเทิง ทั้งหมด 30 ข่าว
1 อัพเดทข่าวแล้วภาพและคลิปข่าวไม่ขึ้นที่หน้าเว็บไซต์
วิธีแก้ไขปัญหา
1 บอกพี่ว่าภาพและคลิปไม่ขึ้นหน้าเว็บเพื่อแจ้งปัญหานี้ไปที่ฝ่ายมีเดียเพื่อทำการแก้ไข
การปฏิบัติงานสัปดาห์ที่ 6
ในสัปดาห์นี้สบายที่สุดได้ทำงานแค่ 3 วัน แต่ก็เหนื่อยมากที่สุด เพราะมีงานค้างจากวันหยุดที่ผ่านมามากๆ โดยเฉพาะ งานวันพ่อ มีข่าวมากมายเกี่ยวกับพระบาทสมเด็จพระเจ้าอยู่หัว เพราะได้ทีการเสนอข่าวเกี่ยวกับ พระบาทสมเด็จพระเจ้าอยู่หัว ได้ทั้งวัน เมื่อข่าวได้ออกอากาศเสร็จก็ต้องรีบอัพข่าวสารเกี่ยวกับ พระบาทสมเด็จพระเจ้าอยู่หัว ว่าท่านเสด็จไปที่ใดบ้าง แต่ก็ไม่ใช่ว่าจะมีแต่การอัพเดทข่าวงานวันพ่ออย่างเดียว ยังมีข่าวประจำที่จะต้องทำอยู่เหมือนเดิม ทั้งรายการต่างๆที่จะออกอากาศในสัปดาห์นี้ต้องรีบทำให้เสร็จก่อนวันหยุด มีทั้งรายการ รายการอีเมาท์ รายการรูปสวยรวยรส รายการวันวานยังหวานอยู่ และยังได้ทำฝังรายการออกอากาศในสัปดาห์ถัดไปด้วย ซึ่งทังหมดนี้ก็ทำให้ได้ความรู้เพิ่มมากขึ้นปัญหาที่พบในการปฏิบัติงาน1.บทข่าวที่ได้รับมาส่วนใหญ่จะแฟกซ์มาจากศูนย์ข่าวที่อื่น ซึ่งทางศูนย์ข่าวที่ส่งมาไม่ได้ส่งไฟล์ที่พิมพ์มาด้วยแนวทางในการแก้ปัญหา1.พิมพ์เนื้อข่าวตามใบเอกสารแฟกซ์ที่ได้รับมา
การปฏิบัติงานสัปดาห์ที่ 5
ปัญหาและอุปสรรคในสัปดาห์ นี้ก็ไม่ต่างจากการทำงานในสัปดาห์ที่ผ่านๆมา ยังคงต้องไปรับบทข่าวเพื่อนำมาเป็นข้อมูลในการอัพเดทหน้าเว็บ พิมพ์ข่าวที่ไม่มีในเครื่อง Server กลาง การตัดคลิปข่าวที่ออกอากาศไปแล้ว การอัพเดทข่าวบันเทิง อัพเดทรายการ กระจกหกด้าน ปลดหนี้ เกมส์พันหน้า
1 ข่าวที่ทำการค้นในเครื่อง Server กลาง ไม่มี
วิธีแกไขปัญหา
1 ทำการพิมพ์ตามบทข่าวที่ได้รับมาจากฝ่ายข่าว
28 พฤศจิกายน 2553
การปฏิบัติงานสัปดาห์ที่ 4
ในสัปดาห์ที่ 4 ในการทำงานก็เหมือนกับในสัปดาห์ที่ 3 ซึ่งไม่แตกต่างกันมาก ยังคงต้องไปรับบทข่าวเหมือนในสัปดาห์ที่ผ่านๆมา แล้วดำเนินการทำเหมือนทุกวันที่ได้ปฎิบัติมา หลังจากนั้นก็ทำการตัดคลิปข่าวที่ได้ออกอากาศไปแล้ว เพื่อนำมาเป็นข้อมูลในการอัพเดทข่าวสารในหน้าเว็ป อัพเดทข่าวในประเทศ ต่างประเทศทั้งหมด 15 ข่าว ตัดคลิป ทั้งหมด 172 คลิป อัพเดท กิจกรรมนักสู้พันข้าวเหนียว
ปัญหาและอุปสรรค
1 เครื่องคอมพิวเตอร์ที่ใช้เกิด Error จึงไม่สามารถใช้งานได้
วิธีแก้ปัญหา
1 ทำการ Restart เครื่องคอมพิวเตอร์ใหม่
การปฏิบัติงานสัปดาห์ที่ 3
14 พฤศจิกายน 2553
การปฏิบัติงานสัปดาห์ที่ 2
06 พฤศจิกายน 2553
การปฏิบัติงานสัปดาห์ที่ 1
ปัญหาในการปฏิบัติงาน
แนวทางในการแก้ไขปัญหา
15 ตุลาคม 2552
ลูกแรดเตรียมพร้อมล่าเหยื่อ
สิ่งที่ผมได้รับจากการเรียนการสอนวิชานี้ก็คือ การเตรียมความพร้อมในการทีจะออกฝึกงานจริงๆในชั้นปีที่4 ในรายวิชาเตรียมฝึกนี้ได้สอนให้ผมได้ทราบถึงรายละเอียดต่างๆ การใช้ชีวิตอยู่ในสังคมของคนทำงาน ได้สอนถึงหลักจริยธรรมในการประกอบอาชีพในงานธุรกิจไม่ใช่แต่ที่จะกอบโกยผลประโยชน์ให้มากที่สุดแต่เราต้องคำนึงถึงการรับผิดชอบต่อสังคมควบคู่ไปด้วย ได้สอนให้ผมได้รู้จักการออมการทำบัญชีรายรับรายจ่ายจะได้ทราบถึงที่มาของการใช้เงิน ได้สอนถึงการพัฒนาบุคลิกภาพว่าบุคลิกภาพแบบใดที่บริษัทหรือองค์กรต้องการเวลาทำงานรวมไปถึงการพัฒนาบุคลิกภาพ ในรายวิชานี้ยังได้สอนให้ผมรู้จักดลก IT มากขึ้นเช่นฐานข้อมูลรวมถึงวิทยาการต่างๆทีกำลังจะเกิดในอนาคตรวมถึงระบบสารสนเทศใหม่ๆ และ ยังได้เรียนรู้ว่าวัฒนธรรมข้ามชาติมีความสำคัญในการประกอบธุรกิจยิงเรียนรู้วัฒนธรรมต่างชาติมากเท่าไรทำให้เราสามารถติดต่อสื่อสารทางงานธุรกิจได้ราบรื่นยิ่งขึ้น ได้รู้เทคนิคทางด้านการตลาดต้องมีความคิดสร้างสรรค์บวกกับการที่คิดอะไรนอกกรอบ ทำในสิ่งที่แตกต่างแต่ต้องแตกต่างอย่างสร้างสรรค์เท่ากับว่าเป้นการสร้างค่าให้ตัวเองไปในตัว รวมถึง หลักในการใช้ภาษาไทยได้รู้ถึงลักษณะของภาษาไทย ความแตกต่างลักษณะการพูดออกเสียง เทคนิคในการเขียนและการพูดภาษาไทย นับว่าเป็นประโยชน์กับผมอย่างมากในอนาคตของการสมัครงาน
15 กันยายน 2552
DTS10-09-09-2552
Sorting
ถ้าเราจำเป็นต้องเก็บและค้นหาข้อมูลอยู่เป็นประจำ การเก็บข้อมูลเราก็ต้องจัดเก็บให้เป็นระเบียบ และง่ายในกระบวนการค้นหาข้อมูลเพื่อนำมาใช้ใหม่ เช่นการจัดเรียงหมวดหมู่ของหนังสือในห้องสมุด ต้องมีการจัดการกับรายละเอียดของหนังสือต่างๆ ให้เป็นแฟ้มข้อมูลที่เรียงลำดับตามตัวอักษร เป็นต้น
และในการประกอบการต่างๆ ที่เกี่ยวข้องกับการใช้งานด้านคอมพิวเตอร์ ก็มีการจัดเรียงลำดับของข้อมูล โดยวิธีใดวิธีหนึ่งแล้วแต่กำหนดทำไมเราจึงต้องศึกษาการเรียงลำดับข้อมูล (Sorting) เพื่อช่วยในการออกแบบอัลกอรึทึม ?
เพราะการเรียงลำดับข้อมูล เป็นงานพื้นฐานที่ใช้ในโปรแกรมประยุกต์ต่างๆ ช่วยทำให้การเรียกใช้งานข้อมูลนั้นๆ มีความสะดวก รวดเร็ว ในการค้นหา มากกว่าการเรียกใช้ข้อมูลที่ไม่มีการลำดับ และทำให้เกิดเทคนิคใหม่ๆที่น่าสนใจและสำคัญอันได้แก่ partial order , recursion , merge , lists , การจัดเก็บ binary tree ในอาร์เรย์ เป็นต้น
อีกทั้ง อัลกอรึทึมที่ใช้เพื่อการเรียงลำดับข้อมูลแต่ละตัวมีข้อดีและข้อเสียแตกต่างกัน ขึ้นอยู่กับจำนวน ชนิดของข้อมูล การกำหนดค่าเริ่มต้น ขนาด และค่าของข้อมูลที่จะทำการเรียงลำดับ สิ่งสำคัญก็คือ เราต้องรู้ว่าเรามีความต้องการอย่างไรเพื่อที่สามารถจะเลือก อัลกิรึทึมที่มีความเหมาะสม และสอดคล้องกับงานของเราได้...
การเรียงข้อมูล สามารถแบ่งได้เป็น 2 ประเภทด้วยกันคือ
1. การเรียงข้อมูลแบบภายใน (Internal Sorting) คือ การเรียงลำดับข้อมูล โดยทั้งหมดต้องจัดเก็บอยู่ในหน่วยความจำหลัก (main memory) ที่มีการเข้าถึงข้อมูลได้เร็ว โดยไม่จำเป็นต้องใช้หน่วยความจำสำรอง เช่น ดิสค์ หรือเทปสำหรับการจัดเก็บชั่วคราว ใช้ในกรณีที่ข้อมูลไม่มากเกินกว่าพื้นที่ความจำที่กำหนดให้กับผู้ใช้แต่ละราย
2. การเรียงข้อมูลแบบภายนอก (External Sorting) คือ การ เรียงลำดับข้อมูลที่มีขนาดใหญ่เกินกว่าที่จะสามารถเก็บไว้ใน พื้นที่ความจำหลักที่กำหนดให้ได้ในคราวเดียว ดังนั้นข้อมูล ส่วนมากต้องเก็บไว้ในไฟล์ข้อมูลที่อยู่บนดิสค์ เทป เป็นต้น สำหรับการเรียงข้อมูลแบบภายนอกจะต้องคิดถึงเวลาที่ใช้ใน การถ่ายเทข้อมูลจากหน่วยความจำชั่วคราวกับหน่วยความจำหลัก ด้วยเช่นกัน
อัลกอรึทึมสำหรับการเรียงข้อมูล จัดได้ 3 ประเภทใหญ่ๆ ดังนี้
1. การเรียงลำดับแบบแลกเปลี่ยน (Exchange Sort)
2. การเรียนลำดับแบบแทรก (Insertion Sort)
3. การเรียงลำดับแบบเลือก (Selection Sort)
Sorting Algorithms
Bubble Sort หลักของการเรียงแบบนี้คือ จะเปรียบเทียบและแลกเปลี่ยนข้อมูล 2 ค่าที่อยู่ติดกันในลักษณะที่เรากำหนด เช่น จากน้อยไปมาก หรือจากมากไปน้อย โดยจะทำการเปรียบเทียบข้อมูลทั้งชุดจนกว่าจะมีการเรียงตามลำดับทั้งหมดขั้นตอนการทำงานของอัลกอริทึม
Quick Sort การเรียงลำดับในลักษณะนี้ เป็นการปรับปรุงมาจากการเรียงลำดับแบบ Bubble เพื่อให้การเรียงลำดับเร็วขึ้น วีธีนี้เหมาะกับการเรียงข้อมูลที่มีจำนวนมาก หรือมีขนาดใหญ่ และเป็นวิธีการเรียงข้อมูลที่ให้ค่าเฉลี่ยของเวลาน้อยที่สุดเท่าที่ค้นพบวิธีหนึ่งการเรียงลำดับแบบ Quick Sortจะเป็นการเปรียบเทียบสมาชิกที่ไม่อยู่ติดกัน โดยกำหนดข้อมูลค่าหนึ่ง เพื่อแบ่งชุดข้อมูลที่ต้องการเรียงลำดับออกเป้น 2 ส่วน จากนั้นก็จะทำการแบ่งย่อยชุดข้อมูล 2 ส่วนนั้นลงไปอีก ทำแบบนี้ไปเรื่อยๆจนข้อมูลแต่ละชุดมีสมาชิกเหลือเพียงตัวเดียวและทำให้ชุดข้อมูลทั้งหมดมีการเรียงลำดับ
Insertion SortInsertion Sort การเรียงลำดับที่ง่ายไม่ซับซ้อน เป็นการนำข้อมูลใหม่เพิ่มเข้าไปในชุดข้อมูลที่มีการเรียงลำดับอยู่แล้ว โดยข้อมูลใหม่ที่นำเข้ามาจะแทรกอยู่ในตำแหน่งทางขวาของชุดข้อมูลเดิม และยังคงทำให้ข้อมูลทั้งหมดมีการเรียงลำดับวิธีนี้เริ่มต้นโดยการเรียงลำดับข้อมูล 2 ตัวแรกของชุดข้อมูล หลังจากนั้นเพิ่มข้อมูลตัวที่ 3 เข้ามา จะมีการเปรียบเทียบค่ากับข้อมูล 2 ตัวแรก และแทรกอยู่ในตำแหน่งที่เหมาะสม และสำหรับการเพิ่มข้อมูลตัวต่อๆไปก็จะทำเหมือนเดิมจนข้อมูลทุกตัวมีการเรียงลำดับขั้นตอนการทำงานของอัลกอริทึม
08 กันยายน 2552
DTS09-02-09-2552
กราฟ G จะเป็นกราฟเรียบง่าย (Simple Graph) ในรูปที่ 10.3 ต้องเป็นไปตามเงื่อนไข ดังนี้
ต้องไม่มีการวนลูปของเอจเกิดขึ้นใน EG หรือมี Path(V,V)
ต้องไม่มีเอจมากกว่าหนึ่งเชี่อมต่อกันระหว่างสองโหนด
กราฟ G ถ้าไม่ใช่กราฟเรียบง่ายเรียกว่า มัลติกราฟ (Multigraph)
กราฟ G จะเป็นกราฟต่อกัน (Connected Graph) ก็ต่อเมื่อไม่สามารถแยกออกเป็นสองกราฟ ยกเว้นมีการตัดเอจใดเอจหนึ่งออกไป ส่วนกราฟที่ไม่ต่อกันดังวนรูปที่ 10.4 มีโหนด f และ h ไม่ต่อกับโหนดอื่น
DTS08-26-08-2552
จะมีเพียงโหนอเดียว(V1) ที่ออกแบบเป็นพิเศษ เรียกว่า Root(T)
โหนดที่เหลือ (V2,….,Vn) จะถูกแบ่งออกเป็นส่วน ๆ เท่ากับ m≥ 0 ที่ต่อกันเป็นเซตชื่อ T1, T2,…..,Tmจะได้ว่าแต่ละ Ti คือ ทรีและเป็นทรีย่อย
หากทรีใด ๆ ไม่มีโหนดเลยเรียกว่านัลทรี (Null Tree)
รูปที่ 9.3 ทรีย่อยของทรีในรูปที่ 9.2
ทรีทั่วไปที่กล่าวถึงมีความหมายเช่นเดียวกับต้นไม้มที่มีการสืบทอด ดังนั้น ถ้ามี Edge(A,B) จะได้ว่า A เป็นโหนดพ่อ (Parent Node) ของ BและB เป็นโหนดลูก (Child Node)ของAแต่ละโหนดที่เป็นลูกจะมีโหนดพ่อเพียงโหนดเดียว สองโหนดขึ้นไปที่มีโหนดพ่อเดียวกันเรียกว่าโหนดพี่น้อง (Sibling Node) สำหรับโหนดที่มีจำนวนเอสชี้ออกไปหรือดีกรีออกเป็นโหนดที่ไม่มีโหนดลูก
11 สิงหาคม 2552
DTS07-05-08-2552
การเพิ่มข้อมูลเข้าไปในคิว
คิวแบบวงกลม (Circular Queue)
คิวแบบวงกลมจะมีลักษณะเหมือนคิวธรรมดา คือ มีตัวชี้ FRONT และ REAR ที่แสดงตำแหน่งหัวคิวและท้ายคิวตามลำดับ โดย FRONT และ REAR จะมีการเลื่อนลำดับทุกครั้งเมื่อมีการนำข้อมูลเข้าและออกจากคิว แต่จะแตกต่างจากคิวธรรมดาก็คือ คิวธรรมดาเมื่อ REAR ชี้ที่ตำแหน่งสุดท้ายของคิว จะทำให้เพิ่มข้อมูลเข้าในคิวอีกเมื่อไม่ได้ เนื่องจาก ค่า REAR=MAX QUEUE ซึ่งแสดงว่าคิวนั้นเต็ม ไม่สามารถเพิ่มข้อมูลเข้าไปได้อีก ทั้งๆ ที่ยังมีเนื้อที่ของคิวเหลืออยู่ก็ตาม ทำให้การใช้เนื้อที่ของคิวไม่มีประสิทธิภาพ
04 สิงหาคม 2552
DTS06-29-07-2552
สรุปสิ่งที่ได้จากการเรียน เรื่อง Stack (ต่อ)
Operation ของสแตค
* การเพิ่มข้อมูลลงในสแตค (pushing stack)
*การดึงข้อมูลออกจากสแตค (popping stack)
การเพิ่มข้อมูลลงในสแตคการเพิ่มข้อมูลลงในสแตค คือ การนำเข้ามูลเข้าสู่สแตคโดยทับข้อมูลที่อยู่บนสุดของสแตค ข้อมูลจะสามารถนำเข้าได้เรื่อยๆ จนกว่าสแตคจะเต็ม สมมติว่าสแตคจองเนื้อที่ไว้ N ตัว ถ้าหากค่า TOP เป็น 0 แสดงว่าสแตคว่าง หากค่า TOP = N แสดงว่าสแตคเต็มไม่สามารถเพิ่มข้อมูลลงในสแตคได้อีก
จากรูปแสดง การ Push ข้อมูล ABC ลงในสแตคที่มีการจองเนื้อที่ไว้ N ตัว โดยมี TOP ชี้ข้อมูลตัวที่เข้ามาล่าสุด โดยค่าของ TOP จะเพิ่มขึ้นทุกครั้งเมื่อมีข้อมูลเข้ามาในสแตค
การดึงข้อมูลออกจากสแตคก่อนที่จะดึงข้อมูลออกจากสแตคต้องตรวจสอบก่อนว่าสแตคมีข้อมูลอยู่หรือไม่ หรือว่าเป็นสแตคว่าง (Empty Stack)
การใช้ สแตค เพื่อแปลรูปนิพจน์ทางคณิตศาสตร์
รูปแบบนิพจน์ทางคณิตศาสตร์
• นิพจน์ Infix คือ นิพจน์ที่เครื่องหมายดำเนินการ (Operator) อยู่ระหว่างตัวดำเนินการ (Operands) เช่น A+B-C• นิพจน์ Prefix คือ นิพจน์ที่เครื่องหมายดำเนินการ (Operator) อยู่หน้าตัวดำเนินการ (Operands) เช่น +-AB
• นิพจน์ Postfix คือ นิพจน์ที่เครื่องหมายดำเนินการ (Operator) อยู่หลังตัวดำเนินการ (Operands) เช่น AC*+
ลำดับการทำงานของตัวดำเนินการทางคณิตศาสตร์ (Operator Priority)
มีการลำดับความสำคัญของตัวดำเนินการจากลำดับสำคัญมากสุดไปน้อยสุด คือ ลำดับที่มีความสำคัญมากที่ต้องทำก่อน ไปจนถึงลำดับที่มีความสำคัญน้อยสุดที่ไว้ทำทีหลัง ดังนี้
1.ทำในเครื่องหมายวงเล็บ
2.เครื่องหมายยกกำลัง ( ^ )
3.เครื่องหมายคูณ ( * ) , หาร ( / )
4.เครื่องหมายบวก ( + ) , ลบ ( - )
ตัวอย่างนิพจน์ทางคณิตศาสตร์และลำดับการคำนวณ
เราสามารถแปลงนิพจน์ Infix ให้เป็น Postfix ได้โดยอาศัยสแตคที่มีคุณสมบัติการเข้าหลังออกก่อนหรือ LIFO โดยมีอัลกอริทึมในการแปลงนิพจน์ ดังนี้
28 กรกฎาคม 2552
DTS05-22-07-2552
Doubly Linked list
Doubly linked list ประกอบด้วยส่วนของ Info และ พอยน์เตอร์ที่ชี้ไป 2 ทิศทาง คือ ชี้ไปยังโหนดถัดไป และชี้ไปยังโหนดก่อนหน้า ดังนั้นเราจึงสามารถทำการอ่านข้อมูลได้ 2 วิธี คือ การอ่านไปข้างหน้า และอ่านไปทางข้างหลัง
การเพิ่มข้อมูลใน doubly linked list
การเพิ่มข้อมูลใน doubly linked list จะแตกต่างจาก Singly Linked list คือ สามารถเพิ่มโหนดให้อยู่หน้าโหนดที่ระบุได
ตัวอย่างการเพิ่มข้อมูล node (Q) ให้อยู่หน้า node (P)
สแตค (Stack
20 กรกฎาคม 2552
DTS04-15-07-2552
การสร้างอะเรย์ของสตริง สามารถทำได้ทั้งแบบที่กำหนดตัวแปรและแบบที่ให้ค่าเริ่มต้น จะสร้างเมื่อสตริงมีจำนวนมาก เพื่อช่วยให้เขียนโปรแกรมได้สะดวกขึ้น
ARAY ของสตริงที่ยาวไม่เท่ากัน ทำได้เฉพาะเมื่อมีการกำหนดค่าเริ่มต้นเท่านั้น
ตัวอย่าง code
ผลการรันโปรแกรม
Data structure
English
Programming
Photoshop
Systems Analysis
Olive
Mango
Apple
Linked Lists
ลิงค์ลิสต์เป็นการจัดเก็บชุดข้อมูลเชื่อมโยงต่อเนื่องกันไปตามลำดับ ซึ่งอาจอยู่ในลักษณะแบบเชิงเส้นตรง (linear) หรือ ไม่เป็นเส้นตรง (nonlinear) ก็ได้ ซึ่งในลิสต์จะประกอบไปด้วยข้อมูลที่เรียกว่าโหนด (node) ในหนึ่งโหนดจะประกอบด้วยส่วนของข้อมูลที่ต้องการจัดเก็บ เรียกว่าส่วน Info และส่วนที่เป็นพอยน์เตอร์ที่ชี้ไปยังโหนดถัดไป (Link) หรือชี้ไปยังโหนดอื่นๆที่อยู่ในลิสต์ หากไม่มีโหนดที่อยู่ถัดไป ส่วนที่เป็นพอยน์เตอร์หรือ Link จะเก็บค่า NULL หรือ NILL ใช้สัญลักษณ์ ^
วิธีสร้าง Linked list คือการนำข้อมูลที่จะจัดเก็บเข้า Linked list เพิ่มตรงโหนดตำแหน่งสุดท้ายของลิสต์ ฉะนั้นจึงต้องมี External พอยน์เตอร์ที่คอยชี้โหนดสุดท้ายของลิสต์ ในที่นี้ใช้ L (Last) ตัวอย่างการสร้าง Linked list จากลิสต์ L = 21 , 5 , 14เริ่มจากการให้ H ชี้ทิ่โหนดตำแหน่งแรก และ L ชี้ทิ่โหนดตำแหน่งสุดท้าย
ข้อมูล 5 เข้าไปใน list , L ชี้ไปยังโหนดที่เก็บข้อมูล 5
เพิ่มข้อมูล 14 เข้าไปใน list , L ชี้ไปยังโหนดที่เก็บข้อมูล 14
การเพิ่มและลบข้อมูลใน Linked list
การเพิ่มข้อมูลที่ต้น list
จากรูป จะเพิ่ม NODE(tmp) ลงใน linked list โดยมีขั้นตอนคือ
tmp = new ListNode();
tmp.element = 12;
tmp.next = current.next;
การเพิ่มข้อมูลโดยแทรกลงในลิสต์
การเพิ่มข้อมูลจะทำการแทรกโหนด New หลังโหนด P
ตัวอย่าง ทำการเพิ่มข้อมูลโหนด 16 ระหว่างโหนด 21 และ 5
จากรูปมีขั้นตอนดังนี้
tmp = new ListNode();
tmp.element = 16;
tmp.next = current.next;
current.next = tmp
การลบข้อมูลใน Linked list
การลบข้อมูลที่ต้น list
เนื่องจากขั้นตอนของการลบข้อมูลที่ header นั้นจะมีปัญหาที่ยุ่งยากกว่าเมื่อ design ด้วย oop(java) เราสามารถที่จะแก้ปัญหานี้ได้โดยการใส่ header node ที่ว่าง ๆ ไว้ข้างหน้าของ linked list เพื่อที่จะทำหน้าที่เป็นชี้ว่าเป็นหัวโหนดโดยที่ไม่ต้องมี pointer คอยชี้ที่ header และเมื่อเราต้องการที่จะเปลี่ยนแปลงข้อมูลใด ๆ บนหัวสามารถที่จะทำได้โดยการแทรก node เข้าไปดังตัวอย่างของการแทรกข้อมูลข้างล่าง
จากรูปมีขั้นตอนดังนี้
tmp.next = tmp.next.next
13 กรกฎาคม 2552
DTS03-01-07-2552
การกำหนดตัวแปร Pointer จะคล้ายกับการกำหนดตัวแปรชนิดต่างๆ เพียงแต่ต้องมีเครื่องหมาย * หน้าชื่อตัวแปร ดังนี้
int *pt;
ในเรื่อง Pointer มีเครื่องหมาย 2 ชนิด คือ * และ & เครื่องหมาย * จะให้ค่า ของข้อมูล ซึ่งเก็บอยู่ใน Address โดย Address นี้เก็บ อยู่ในตัวแปร Pointer ซึ่งอยู่หลังเครื่องหมาย * สำหรับเครื่องหมาย & จะให้ค่า Address ของตัวแปรซึ่งอยูหลังเครื่องหมาย & ดังตัวอย่าง
การประกาศตัวแปรPointer
ต้องมีระบุตัวดำเนินการ (Operator) เพื่อบอกว่าตัวแปรดังกล่าวเป็นตัวแปรแบบตัวชี้ โดยตัวดำเนินการที่ใช้คือ * และ & เช่น จะประกาศตัวแปรชนิดPointer คือ int *countPtr; ในที่นี้หมายถึง ตัวแปร countPtr ถูกประกาศให้เป็นตัวแปรชนิด Pointer และทำหน้าที่ชี้ (เก็บ Address) ไปยังตำแหน่งที่เก็บค่าจำนวนเต็ม(เป็นชนิดเดียวกับที่เราประกาศไว้ ในที่นี้คือ Integer)
ตัวอย่าง code
int x = 10;
int *xPtr;
xPtr = &x; //ชี้ไปยังตำแหน่ง x
จะได้ว่า
หมายความว่า : Pointer xPtr ชี้ไปยังตำแหน่งเดียวกับ ตัวแปร x ซึ่งเก็บค่า 10 ไว้
pointer กับ array
pointer และ array มันถูกนำมาอธิบายไว้ด้วยกัน เพราะ pointer กับ array มีหลายอย่างที่คล้ายๆ กัน และอันที่จริงเราสามารถสร้าง array จาก pointer ได้ ซึ่งแม้จะมีข้อเสียที่ใช้งานได้ยากกว่า แต่ก็มีข้อดีที่ทำงานได้เร็วกว่าPointer และ array มักถูกนำมาใช้ร่วมกันอยู่เสมอเนื่องจาก array เป็นข้อมูลในหน่วยความจำที่เรียงติดกันไป เราจึงอาจใช้ pointer เพื่อวนเข้าถึงข้อมูลเหล่านั้น ดังโค้ดต่อไปนี้ จะเห็นได้ว่าการใช้ pointer เข้าถึงข้อมูลใน array (array element) โดยตอนแรกเราสร้าง array ชื่อ myArray จากนั้นสร้าง pointer ที่ชี้ไปยัง array ชื่อ ptArray คำสั่ง fixed ทำหน้าที่ตั้งให้ pointer ชี้ไปยังตัวแปรแบบ managed และตรึงค่าของตัวแปรไว้ไม่ให้เปลี่ยนตำแหน่งระหว่างโปรแกรมทำงาน
ผลลัพธ์เมื่อโปรแกรมทำงานคือ 1234
28 มิถุนายน 2552
DTS02-24-06-2552
1. อะเรย์ 1 มิติ มีรูปแบบ คือ data-type array-name[expression] เช่น int num[3] หมายถึง การจองพื้นที่ในหน่วยความจำหลักสำหรับ num ให้เป็นตัวแปรชุดชนิด integer ขนาด 3 สมาชิก โดยเรียก สมาชิกตัวที่ 1 เป็น num[0] เรียงไปเรื่อยๆ จนถึงสมาชิกตัวที่ 3
row1 b[0][0] b[0][1] b[0][2]
row2 b[1][0] b[1][1] b[1][2]
row3 b[2][0] b[2][1] b[2][2]
record เป็นการกำหนดข้อมูลให้เป็นรูปแบบของ structurestructure เป็นโครงสร้างที่สมาชิกมีประเภทของข้อมูลต่างกัน โดยอาจเป็นจำนวนเต็ม ทศนิยม อะเรย์ อักขระ พอยเตอร์ และ structure ด้วยกัน
#include "conio.h"
void cal(infor)
struct fee{
char name[20];
char faculty[30];
char majority[50];
int math;
int thai;
int english;
int programming;
int multimedia;
} infor;
{
int y;
clrscr();
printf("name : %s\t",infor.name);
printf("faculty : %s\n",infor.faculty);
printf("majority : %s\n",infor.majority);
y = infor.math + infor.thai + infor.english + infor.programming + infor.multimedia;
printf("%d baht\n",y*250);
}
main()
{
struct fee{
char name[20];
char faculty[30];
char majority[50];
int math;
int thai;
int english;
int programming;
int multimedia; };
struct fee student;
printf("Enter name :");
gets(student.name);
printf("Enter faculty :");
gets(student.faculty);
printf("Enter majority :");
gets(student.majority);
printf("Enter math credit :");
scanf("%d",&student.math);
printf("Enter thai credit :");
scanf("%d",&student.thai);
printf("Enter english credit :");
scanf("%d",&student.english);
printf("Enter programming credit :");
scanf("%d",&student.programming);
printf("Enter multimedia credit :");
scanf("%d",&student.multimedia);
cal(student);
}
27 มิถุนายน 2552
ประวัติ
Mr.Khwanmuang Kachentorn
หลักสูตร การบริหารธุรกิจ (คอมพิวเตอร์ธุรกิจ) คณะ วิทยการจัดการมหาวิทยาลัยราชภัฏสวนดุสิต
E-mail : u50172792027@gmail.com