วันพฤหัสบดีที่ 18 พฤศจิกายน พ.ศ. 2553

สรุปรายงานที่ปฎิบัติตอนฝึกงานในสัปดาห์ที่3

สรุปรายงานที่ปฎิบัติตอนฝึกงานในสัปดาห์ที่3

วันจันทรืที่15พฤศจิกายน 2553
-พิมพ์ซองถึงอธิบดีกรมวิชาการเกษตร
-พิมพ์ซองจดหมายราชการถึงนายกเทศมนตรี เมืองนราธิวาส
-พิมพ์ซองถึงผู้ว่าราชการจังหวัด 22 จังหวัด


วันอังคารที่16พฤศจิกายน 2553
-พิมพ์ที่อยู่ถึง กรมส่งเสริมการเกษตร
-ถ้ายเอกสารเรื่อง
-ข้าราชการบรรจุใหม่
-พิมพ์ข้อความประทับตรา
-พิมพ์เพิ่มบัญชีรายชื่อสำนักงานวัฒนธรรมจังหวัดที่บรรจุ
-พิมพ์รายชื่อสำนักงานวัฒนธรรมแต่ละจังหวัด


วันพุธที่ 17พฤศจิกายน2553
-ส่งเอกสาร เรื่อง การโอนข้าราชการพลเรือน
ย้ายข้าราชการ ,แก้ไขคำสั่งอนุญาติราชการลาออก
รับโอนข้าราชการพลเรือนสามัญที่สอบแข่งขันได้


วันพฤหัสบดีที่ 18 พฤศจิกายน 2553
-พิมพ์ใบลาพักผ่อน ลาป่วย
-รับเรื่องส่งเอกสาร
- พิมพ์ใบเลขครุภัณฑ์ที่ติดอยู่ตรงคอมพิเตอร์ในห้องฝ่ายบริหารกลางบุคคล


วันศุกร์ที่ 19 พฤศจิกายน 2553
-ทำงานลงทะเบียนระบบ
รับเรื่องแล้วลงทะเบียนในระบบ
เช่น เรื่อง ขอความอนุเคราะห์ข้อมูลราชการเพื่อคัดเลือก
เข้าอบรมหลักสูตรนักบริหารหลักสูตร,ขอให้แก้ไขหรือชี้แจงความผิดปกติของข้อมูล
-พิมพ์งานเรื่องการคัดเลือกบุคคลเพื่อตำแหน่งให้ดำรงตำแหน่งว่าง

ปัญหา

-ใส่เลขเอกสารผิด
-หนังสือที่ลงมายังลงมาไม่ถึงจึงทำให้ไม่มามารถลงทะเบียนได้


วิธิการแก้ไขปัญหา

-ต้องทำการแก้ไข
-ต้องไปตามหนังสือที่ห้องอำนวยการ

วันพฤหัสบดีที่ 11 พฤศจิกายน พ.ศ. 2553

สรุปรายงานที่ปฎิบัติตอนฝึกงานในสัปดาห์ที่2

วันจันทรืที่8พฤศจิกายน 2553-
-พิมพ์งานเรื่องการประเมินการผ่านปฏิบัติหน้าที่ราชการโดยใช้พิมพ์ดีดไฟฟ้า
-พิมพ์ซองจดหมายราชการ
-พิมพ์รวมรายชื่อผู้รับคัดเลือกรับราชการ
-พิมพ์รายชื่อข้าราชการที่ยังไม่ได้รับโล่เกษียณอายุราชการ

วันอังคารที่9พฤศจิกายน 2553
-พิมพ์ที่อยู่ถึง กรมส่งเสริมการเกษตร
-ทำหนังสือประทับตรา
-พิมพ์ข้อความประทับตรา
-พิมพ์บันทึกข้อความ การทดลองปฏิบัติหน้าที่ราชการ
-พิมพ์รายชื่อสำนักงานวัฒนธรรมแต่ละจังหวัด

วันพุธที่10พฤศจิกายน2553
-พิมพ์บันทึกข้อความ เรื่องให้ข้าราชการได้รับเงินเดือนตามวุฒิ
-จัดทำบอร์ดประกาศการเรื่องการบรรจุข้าราชการใหม่
วันพฤหัสบดีที่11 พฤศจิกายน 2553
-พิมพ์ใบข้อมูลประกอบการจัดซื้อวัสดุกลุ่มงานบุคคล
-รับเรื่องส่งเอกสาร
-ส่งเอกสารราชการภายในกระทรวง
-เรียงเอกสารที่ข้าราชการบบรจุใหม่

วันศุกร์ที่ 12 พฤศจิกายน 2553
-เขียนบันทึกหน้าซองจดหมายถึง
สำนักงานเลาธิการวุฒิสภา
สำนักงานเลาธิการ ประกันสังคม
ผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา
อธิบดีกรมกราเกษตร
นานยกเทศมนตรี เมืองนราธิวาส
ถึงผู้ว่าราชการจังหวัด 22 ซอง
- ถ่ายเอกสารราชการ เรื่องการบรรจุใหม่
-เพิ่มรายชื่อสำนักงานวัฒนธรรมจังหวัดที่บรรจุ


ปัญหา

- อินเตอร์เน็ตล่มทำให้ทำงานช้า
- เลขที่ออกเอกสารไม่ชัดเจน


วิธิการแก้ไขปัญหา

-ต้องตามช่างมาเช็คระบบ
-ต้องไปขอเลขที่เอกสารที่ห้องกลุ่มอำนวยการ

วันอาทิตย์ที่ 7 พฤศจิกายน พ.ศ. 2553

สรุปรายงานที่ปฎิบัติตอนฝึกงานในสัปดาห์ที่1

วันจันทร์ที่ 1 พฤศจิกายน2553
งานที่ปฎิบัติ
-พิมพ์เอกสารราชการ
-การทำซองถึงนายกแต่ละกระทรวง
-พิมพ์รวมบัญชีรายชื่อผู้ได้รับการคัดเลือกเข้ารับราชการ
-พิมพ์ตำแหน่งว่างนักวิชาการวัฒนธรรมปฎิบัติการ
-พิมพ์บันทึกข้อความ(ให้ข้าราชการเลื่อนขั้น)
-ส่งเอกสารราชการในแต่ละฝ่ายในกระทรวง
วันที่ 2 พฤศจิกายน 2553
รายการที่ปฎิบัติงาน
-ถ่ายเอกสาร
-พิมพ์บันทึกข้อความ
-ถ่ายเอกสารราชการ
-พิมพ์บันทึกข้อความ(ปรับเงินเดือน)

วันที่ 3 พฤศจิกายน 2553
-พิมพ์แก้ไขตำแหน่งว่างนักวิชาการวัฒนธรรมปฎิบัติการ
-ย่อยเอกสาร
-ถ่ายเอกสาร
-ส่งเอกสารแต่ละฝ่าย

วันที่ 4 พฤศจิกายน 2553
-พิมพ์บันทึกข้อความ(โอนข้าราชการ)
-แก้ไขเอกสารงาน
-ส่งเอกสารราชการ
-จัดบอร์ดเกี่ยวกับเรื่องผู้ที่ผ่านการคัดเลลือกรับราชการ

วันที่ 5 พฤศจิกายน 2553
-พิมพ์เอกสารบันทึกข้อความ
-ส่งเอกสารแต่ละฝ่ายงาน
-ถ่ายเอกสาร
-ทำป้ายลงนาม

ปัญหาและการแก้ปัญหา

ปัญหา

-เลขครุภัณฑ์ที่ติดอยู่ฉีกขาดทำให้ไม่มีตัวเลข
- ที่อยู่ในแต่ละจังหวัดเป็นที่อยู่เก่าทำให้ต้องมีการเปลี่ยนงานต้องล่าช้า


วิธิการแก้ไขปัญหา

-ต้องไปดูแฟ้มเอกสารที่อยู่ห้องฝ่ายศูนย์เทคโน
-ต้องไปเซฟฝ่ายที่อยู่ที่อัพเดทใหม่

วันพฤหัสบดีที่ 15 ตุลาคม พ.ศ. 2552

ลูกแรดเตรียมพร้อมล่าเหยื่อ

ลูกแรดเตรียมพร้อมล่าเหยื่อ
วันศุกร์ ที่ 26 เดือน มิถุนายน พ.ศ. 2552
วันปฐมนิเทศน์
- ได้รู้จักการเตรียมความพร้อมก่อนที่จะเข้าเรียนในรายวิชาเตรียมฝึกประสบการณ์วิชาชีพ
- ได้รู้กฏระเบียบของการเข้าเรียน การมาเรียนในรายวิชาเตรียมฝึกประสบการณ์วิชาชีพ
- ได้รู้การปฏิบัติตัวที่ดีให้อยู่ในกฏระเบียบที่วางไว้
- ได้รู้เกณฑ์การตัดสินคะแนนในรายวิชาเตรียมฝึกประสบการณ์วิชาชีพ

วันศุกร์ ที่ 3 เดือน กรกฏาคม พ.ศ. 2552
หลักการประกันคุณภาพ
- รู้จักความหมายของหลักการประกันคุณภาพ
- รู้ว่ามหาวิทยาลัยใช้หลักการประกันคุณภาพอย่างไร
- รู้จักการวางแผนในการทำงาน

วันศุกร์ ที่ 10 เดือน กรกฏาคม พ.ศ. 2552
คุณธรรมจริยธรรม
- ได้รับความรู้เกี่ยวกับเรื่องของคุณธรรม จริยธรรม
- รู้จักหลักการดำเนินชีวิตในชีวิตประจำวัน
- ได้นำหลักธรรมที่เรียนมาปรับใช้ในชีวิตประจำวัน
- ได้พัฒนาความรู้เกี่ยวกับการใช้ปัญญาแก้ปัญหา

วันศุกร์ ที่ 17 เดือน กรกฏาคม พ.ศ. 2552
การเงินส่วนบุคคล
- ได้ความรู้เกี่ยวกับแหล่งการเ งิน
- ได้จัดทำการบันทึกรายรับ-รายจ่ายให้ทราบเกี่ยวกับการใช้เงิน รู้จักการอดออม และการประหยัด
- ได้ความรู้เรื่องการบริหารการเงิน

วันศุกร์ ที่ 24 เดือน กรกฏาคม พ.ศ. 2552
การพัฒนาบุคคลิกภาพ
- รู้จักการแต่งกายให้ถูกระเบียบ ถูกกาละเทศะ และตามโอกาสต่างๆ
- รู้เรื่องการแต่งหน้าตามโอกาสต่างๆ
- ได้เรียนรู้เรื่องการพัฒนาบุคคลิกภาพตนเอง


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

วันศุกร์ ที่ 14 เดือน สิงหาคม พ.ศ. 2552
กิจกรรมแขนงธุรกิจระหว่างประเทศ
- รู้จักในเรื่องของวัฒนธรรม ความเชื่อ แนวความคิดระหว่างประเทศ

วันศุกร์ ที่ 21 เดือน สิงหาคม พ.ศ. 2552
กิจกรรมแขนงการตลาด
- รู้จักเส้นทางแห่งความสำเร็จ
- รู้วิธีการดำเนินชีวิตที่ดี การทำงานอย่างมีประสิทธิภาพ

วันศุกร์ ที่ 11 เดือน กันยายน พ.ศ. 2552
ภาษาไทยในชีวิตประจำวัน
-รู้จักประเภทของภาษาไทย
- การใช้ภาษาไทยที่ถูกต้อง
- การรักษาวัฒนธรรมการใช้ภาษาไทย
- การใช้ภาษาไทยในโอกาสต่างๆ

วันศุกร์ ที่ 18 เดือน กันยายน พ.ศ. 2552
วันปัจฉิมนิเทศ
- รู้จักการกตัญญูกตเวทีต่อผู้มีพระคุณ
- การอยู่ร่วมกันอย่างเป็นสุข สงบสุขในสังคม
- การแก้ปัญหาเมื่อปัญหาเกิดขึ้นอย่างถูกต้อง

วันพุธที่ 2 กันยายน พ.ศ. 2552

DTS08-26-08-2552

Tree
ทรี (Tree) เป็นโครงสร้างที่มีความสัมพันธ์ระหว่าง โหนดจะมีความสัมพันธ์ลดหลั่นกันเป็นลำดับชั้น (Hierarchical Relationship) เช่นแผนผังองค์ประกอบของหน่วยงานต่างๆ โครงสร้างสารบัญหนังสือ เป็นต้น

ความสัมพันธ์ของโหนดใน Tree

แต่ละโหนดจะมีความสัมพันธ์กับโหนดในระดับที่ต่ำลงมาหนึ่งระดับได้หลายๆ โหนด เรียกโหนดดังกล่าวว่า โหนดแม่ (Parent or Mother Node)โหนดที่อยู่ต่ำกว่าโหนดแม่อยู่หนึ่งระดับ เรียกว่า โหนดลูก(Child Node)โหนดทีอยู่ในระดับสูงสุดและไม่มีโหนดแม่ เรียกว่า โหนดราก(Root Node)โหนดที่มีโหนดแม่เป็นโหนดเดียวกัน เรียกว่า โหนดพี่น้อง(Siblings)โหนดที่ไม่มีโหนดลูก เรียกว่า โหนดใบ(Leave Node)เส้นเชื่อมแสดงความสัมพันธ์ระหว่างโหนดสองโหนด เรียกว่า กิ่ง(Branch)

นิยามของทรี(Tree)

ทรี คือ กราฟที่ต่อเนื่องโดยไม่มีวงจรปิด(loop)ในโครงสร้าง โหนดสองโหนดใดๆ ในทรีต้องมีทางติดต่อกัน ทางเดียวเท่านั้น และทรีที่มี N โหนดต้องมีกิ่งทั้งหมด N-1เส้น

ทรีประกอบด้วยสมาชิกที่เรียกว่า โหนด โดยที่ว่าง ไม่มีโหนดใดๆ เรียกว่านัลทรี(Null Tree) และถ้ามีโหนดหนึ่งเป็นโหนดราก ส่วนที่เหลือจะแบ่งเป็นทรีย่อย (Sub Tree)

นิยามที่เกี่ยวกับทรี (Tree)

1.ฟอร์เรสต์ (Forest) หมายถึง กลุ่มของทรีที่เกิดจากการเอาโหนดรากของทรีออก หรือ เซตของทรีที่แยกออกจากกัน(Disjoint Trees)
2.ทรีที่มีแบบแผน (Ordered Tree) หมายถึง ทรีที่โหนดต่างๆในทรีนั้นมีความสัมพันธ์ที่แน่นอน เช่น ไปทางขวา ไปทางซ้าย เป็นต้น
3.ทรีคล้าย (Similar Tree) คือ ทรีที่มีโครงสร้างเหมือนกัน หรือทรีที่มีรูปร่างของทรีเหมือนกัน โดยไม่คำนึ่งถึงข้อมูลทีอยู่ในแต่ละโหนด
4.ทรีเหมือน (Equivalent Tree) คือ ทรีที่เหมือนกันโดยสมบูรณ์โดยต้องเป็นทรีที่คล้ายกันและแต่ละโหนดในตำแหน่งเดียวกันมีข้อมูลเหมือนกัน
5.กำลัง (Degree) หมายถึง จำนวนทรีย่อยของในโหนดนั้นๆ
6.ระดับของโหนด (Level of Node) คือ ระยะทางในแนวดิ่งของโหนดนั้นๆ ที่อยู่ห่างจากโหนดราก เมื่อกำหนดให้ โหนดรากของทรีนั้นอยู่ระดับ 1และกิ่งแต่ละกิ่งมีความเท่ากันหมด คือยาวเท่ากับ 1 หน่วยซึ่งระดับของโหนดจะเท่ากับจำนวนกิ่งที่น้อยที่สุดจากโหนดรากไปยังโหนดใดบวกด้วย 1และจำนวนเส้นทางตามแนวดิ่งของโหนดใดๆซึ่งห่างจากโหนดราก เรียกว่า ความสูง (Height) หรือความลึก(Depth)

การแทนที่ทรีในหน่วยความจำหลัก

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

1.โหนดแต่ละโหนดเก็บพอยเตอร์ชี้ไปยังโหนดลูกทุกโหนด การแทนที่ด้วยวิธีนี้ จะทำให้จำนวนฟิลด์ในแต่ละโหนดเท่ากันโดยกำหนดให้มีขนาดเท่ากับจำนวนโหนดลูกของโหนดที่มีลูกมากที่สุด โหนดใดไม่มีลูกโหนดลูกก็ให้ค่าในพอยเตอร์ในลิงค์ฟิลด์เป็น Null

2.แทนที่ด้วยไบนารีทรี เป็นวิธีแก้ปัญหาเพื่อลดการสิ้นเปลืองเนื้อที่หน่วยความจำก็คือกหนดลิงค์ฟิลด์ให้มีจำนวนน้อยที่สุดเท่าที่จำเป็นเท่านั้นโดยกำหนดให้แต่ละโหนดมีจำนวนลิงค์ฟิลด์สองลิงค์ฟิลด์
-ลิงค์แรกเก็บที่อยู่ของโหนดลูกคนโต
-ลิงค์ฟิลด์ที่สองเก็บที่อยู่ของโหนดพี่น้องที่เป็นโหนดถัดไปโหนดใดไม่มีโหนดลูกหรือไม่มีพี่น้องให้ค่าพอยน์เตอร์ในลิงค์ฟิลด์มีค่าเป็นNull

สรุป ไบนารีทรีก็คือ โครงสร้างทรีที่แต่ละโหนดมีจำนวนโหนดลูกไม่เกินสองหรือแต่ละโหนดมีจำนวนทรีย่อยไม่เกินสองไบนารีทรีที่สมบูรณ์ ไบนารีทรีที่ทุกๆโหนดมีทรีย่อยทางซ้ายและทรีย่อยขวา ยกเว้นโหนดใบ และโหนดใบทุกโหนดจะต้องอยู่ที่ระดับเดียวกันสามารถคำนวณจำนวนโหนดทั้งหมดในไบนารีทรีแบบสมบูรณ์ได้ถ้ากำหนดให้ L คือระดับของโหนดใดๆ และ N คือจำนวนโหนดทั้งหมดทั้งหมดในทรีจะได้ว่าระดับ 1 มีจำนวนโหนด 1 โหนด
ระดับ 2 มีจำนวนโหนด 3 โหนด
ระดัย 3 มีจำนวนโหนด 7 โหนด

การแปลงทรีทั่วไปให้เป็นไบนารีทรี
1.ให้โหนดแม่ชี้ไปยังโหนดลูกคนโตแล้วลบความสัมพนธ์ ระหว่างโหนดแม่และโหนดลูกอื่นๆ
2.ให้เชื่อมความสัมพันธ์ระหว่างโหนดพี่น้อง
3.จับให้ทรีย่อยทางขวาเอียงลงมา 45 องศา

การท่องไปในไบนารีทรี
1.การท่องไปแบบพีออร์เดอร์(Preorder Traversal)เป็นการเดินเข้าไปเยือนโหนดต่างๆใสทรีด้วยวิธี NLR มีขั้นตอนการเดินดังต่อไปนี้
1.1เยื่อนโหนดราก
1.2ท่องไปในทรีย่อยทางซ้ายแบบพรีออร์เดอร์
1.3ท่องไปในทรีย่อยทางขวาแบบพรีออร์เดอร์

2.การท่องไปอบบอินออร์เดอร์(Inorder Traversal)เป็นการเดินเข้าไปเยือนโหนดต่างๆในทรีด้วยวิธี LNRมีขั้นตอนการเดินดังต่อไปนี้
2.1ท่องไปในทรีย่อยทางซ้ายแบบอินออร์เดอร์
2.2เยื่อนโหนดราก
2.3ท่องไปในทรีย่อยทางขวาแบบอินออร์เดอร์

3.การท่องไปแบบโพสออร์เดอร์(Postorder Traversal)เป็นการเดินเข้าไปเยื่อนโหนดต่างๆในทรีด้วยวิธี LRNมีขั้นตอนการเดินดังต่อไปนี้
3.1ท่องไปในทรีย่อยทางซ้ายแบบโพสต์ออร์เดอร์
3.2ท่องไปในทรีย่อยทางขวาแบบโพสต์ออร์เดอร์3.3เยือนโหนดราก

วันอาทิตย์ที่ 16 สิงหาคม พ.ศ. 2552

DTS07-05-08-2552

สรุปเนื้อหาบทเรียน "Data Structure"
เรื่อง Queue

คิวเป็นโครงสร้างข้อมูลแบบหนึ่งซึ่งมีลักษณะที่ว่า ข้อมูลที่นำเข้าไปเก็บก่อนจะถูกนำออกมาทำงานก่อน ส่วนข้อมูลที่เข้าไปเก็บทีหลังก็จะถูกนำออกมาใช้งานทีหลัง ขึ้นอยู่กับลำดับการเก็บข้อมูล จะเรียกลักษณะการทำงานแบบนี้ว่า เข้าก่อนออกก่อน หรือ First In First Out (FIFO) การเพิ่มข้อมูลจะเพิ่มจากด้านท้ายหรือเรียร์

การทำงานของคิว
1.การใส่ข้อมูลตัวใหม่ลงในคิว เรียกว่า Enqueue ก่อนที่จะใส่ข้อมูลลงไปต้องตรวจสอบก่อนว่าคิวเต็มหรือไม่ ถ้าพยายามใส่ข้อมูลลงไปอาจเกิดข้อผิดพลาด ที่เรียกว่า overflow
2.การนำสมาชิกออกจากคิว เรียกว่า Dequeue จะไม่สามารถนำข้อมูลออกจากคิวที่ว่างได้ ถ้าพยายามนำข้อมูลออกอาจเกิดข้อผิดพลาดที่เรียกว่า underflow
3.การนำข้อมูลที่อยู่ตอนต้นของคิวหรือข้อมูลที่อยู่ลำดับแรกมาแสดง เรียกว่า Queue Front เพื่อรู้ว่าข้อมูลตัวต่อไปคืออะไร
4.การนำข้อมูลที่อยู่ตอนท้ายของคิว หรือข้อมูลที่เข้ามาตัวสุดท้ายมาแสดง เรียกว่า Queue Rear เพื่อรู้ว่า
ข้อมูลตัวสุดท้ายคืออะไร
การแทนที่ข้อมูลของคิว มี 2 วิธี คือ
1.การแทนที่ข้อมูลของคิวแบบอะเรย์ มีการกำหนดขนาดของคิวไว้ล่วงหน้าว่ามีขนาดเท่าไร และจะมีการจัดสรรเนื้อที่หน่วยความจำให้เลย เมื่อพื้นที่ของอะเรย์มีพื้นที่ว่าง อาจหมายความว่า พื้นที่ว่างนั้นเคยเก็บข้อมูลแล้วกับพื้นที่ว่างนั้นยังไม่เคยเก็บข้อมูลมาก่อน
*** กรณีที่ Front ไม่ได้อยู่ช่องแรก พื้นที่ว่างจะไม่สามารถใช้งานได้อีก จะแก้โดยใช้คิวแบบวงกลม คือ ช่องสุดท้ายต่อกับช่องแรก คิวแบบวงกลมจะเต็มก็ต่อเมื่อ rear มีค่าน้อยกว่า front
2.การแทนที่ข้อมูลของคิวแบบลิงค์ลิสต์ ประกอบไปด้วย 2 ส่วน คือ Head Node มี 3 ส่วนมีพอยเตอร์ 2 ตัว และจำนวนสมาชิก กับ Data Node จะมีข้อมูล และพอยเตอร์ชี้ตัวถัดไป

การดำเนินการเกี่ยวกับคิว
1.Create Queue คือการสร้างคิวขึ้นมา แล้วจัดสรรหน่วยความจำให้กับ Head Node และพอยเตอร์มีค่าเป็น Null
2.Enqueue คือ การเพิ่มข้อมูลลงไปในคิวโดยการเพิ่มจะเพิ่มจากส่วนท้าย
3.Dequeue คือ การนำข้อมูลในคิวออก จะออกโดยข้อมูลที่เข้าไปตัวแรกจะออกก่อน
4.Queue Front คือ การนำข้อมูลตัวแรกที่เข้าไปในคิวออกมาแสดง
5.Queue Rear คือ การนำข้อมูลตัวสุดท้ายที่เข้ามาในคิวออกมาแสดง
6.Empty Queue คือ เป็นการตรวจสอบว่าคิวนั้นยังคงว่างอยู่หรือไม่
7.Full Queue คือ เป็นการตรวจสอบว่าคิวนั้นเต็มหรือไม่
8.Queue Count คือ เป็นการนับจำนวนข้อมูลที่อยูในคิว ว่ามีจำนวนเท่าไร
9.Destroy Queue คือ การลบข้อมูลที่อยูในคิวทิ้ง

การประยุกต์ใช้คิว จะถูกประยุกต์ใช้มากในระบบธุรกิจ เช่นการให้บริการลูกค้า คือลูกค้าที่มาก่อนย่อมต้องได้รับบริการก่อน และในด้านคอมพิวเตอร์ในระบบปฏิบัติงาน (Operating System) คือจัดให้งานที่เข้ามา ได้ทำงานตามความสำคัญ (Priority)
***เช่น สมมติว่า Priority มีงาน 3 ระดับ เรียงจากมากไปหาน้อยระบุโดยตัวเลข เลข 1 มากสุดเรื่อยไปจนถึง 3 น้อยสุด ถ้ามีงาน A,B,C เข้ามาขอใช้ CPU โดยมี Priority เป็น 4,2,1, ตามลำดับ ที่นี้งาน C จะถูกนำไปทำงานก่อน ตามด้วย B และ A

วันอังคารที่ 4 สิงหาคม พ.ศ. 2552

DTS06-30-07-2552

สรุปเนื้อหาบทเรียน "Data Structure"

เรื่อง Stack (ต่อ)

สแตก มี 2 วิธี คือ

การแทนที่ข้อมูลของสแตกด้วยอาร์เรย์
การแทนสแตกด้วยโครงสร้างอาร์เรย์นั้น เนื่องจากอาร์เรย์เป็นโครงสร้างที่ต้องมีการกำหนดจองพื้นที่เท่ากับขนาดที่ใหญ่ที่สุด(static) จึงจำเป็นต้องมีการกำหนดขนาดพื้นที่จัดเก็บข้อมูลสูงสุดให้เหมาะสมเมื่อมีการนำเอาข้อมูลเข้ามาก็จะนำเข้ามาจัดไว้ในอาร์เรย์แรกสุดจากนั้นจึงเรียงลำดับกันไปตามพื้นที่ที่กำหนด

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

การดำเนินงานเกี่ยวกับสแตก
1.Create Stack เป็นการสร้างสแตกขึ้นมาแล้วกำหนดค่าเริ่มต้นต่าง ๆ
2.Push Stack เป็นการนำข้อมูลมาใส่ลงในสแตก
3.Pop stack เป็นการนำข้อมูลที่อยู่บนสุดออกจากสแตก
4.Stack Top เป็นการคัดลอกข้อมูลที่อยู่บนสุดของสแตกแต่ ไม่มีการลบข้อมูลที่คัดลอกออกจากสแตก
5.Empty Stack เป็นการตรวจสอบว่าสแตกว่างหรือไม่ เพื่อไม่ให้เกิดข้อผิดพลาดที่เรียกว่า stack underflow
6.Full Stack เป็นการตรวจสอบว่าสแตกนั้นเต็มหรือไม่ เพื่อไม่ให้เกิดข้อผิดพลาดที่เรียกว่า stack overflow
7.Stack Count เป็นการนับข้อมูลในสแตกว่ามีจำนวนเท่าไหร่
8.Destroy Stack เป็นการลบข้อมูลในสแตกออกทั้งหมด

การคำนวณนิพจน์ทางคณิตศาสตร์ แบ่งเป็น 3 ประเภทคือ
1. นิพจน์ Infix คือ นิพจน์ที่มีเครื่องหมายดำเนินการ(operator)อยู่กึ่งกลางตัวถูกดำเนินการ (operand) เช่น A + B
2. นิพจน์ Postfix คือ นิพจน์ที่มีเครื่องหมายดำเนิน(operator)การอยู่ด้านหลังตัวถูกดำเนินการ (operand) เช่น AB+
3. นิพจน์ Prefix คือ นิพจน์ที่มีเครื่องหมายดำเนินการ(operator)อยู่ด้านหน้าตัวถูกดำเนินการ (operand) เช่น -AB

*** เครื่องหมายดำเนินการ (operand) ได้แก่เครื่องหมาย + - * ^ ตัวถูกดำเนินการ ได้แก่ สัญลักษณ์แทนค่าตัวเลข เช่น A B C D
หรือตัวแปรอื่น

สำหรับการดำเนินการด้านการคำนวณนั้น ในระบบคอมพิวเตอร์ไม่สามารถที่จะจัดลำดับของการคำนวณในรูปแบบของ infix ได้ แต่จะแปลงเป็นนิพจน์ของ infix หรือ prefix เสียก่อน โดยลักษณะของการแปลงนิพจน์จะใช้การเปรียบเทียบความสำคัญของตัวดำเนินการ

ลำดับความสำคัญของตัวดำเนินการ
+ -
* /
(
)

ขั้นตอนการแปลง infix เป็น postfix
1.อ่านอักขระใน infix
2.ถ้าเป็น operand ย้ายไปใส่ใน postfix
3.ถ้าเป็น operator จะต้องดูลำดับความสำคัญของตัวดำเนินการด้วยแล้วใส่ลงในสแตกที่เก็บตัวดำเนินการ ถ้ามีค่ามากกว่าให้ push ถ้ามีค่าน้อยกว่าหรือเท่ากันให้ pop ออกแล้วไปเรียงต่อตัวอักษรใน postfix
4.ตัวดำเนินการที่เป็น ) จะไม่ถูก push แต่จะทำให้ตัวดำเนินการตัวอื่นถูก pop ออกมาแล้วไปเรียงต่อใน postfix
5.เมื่ออ่านอักขระใน infix หมด ให้ pop ตัวดำเนินการทุกตัวมาเรียงต่อใน postfix
*** ถ้าเจอเครื่องหมาย + - หลังเครื่องหมาย * / ให้ pop เครื่องหมายในสแตกออก
ถ้าเจอเครื่องหมาย * / หลังเครื่องหมาย + - ให้ push ลงในสแตก

การคำนวณค่า postfix
1.อ่านตัวอักษรจาก postfix ที่ละตัว
2.ถ้าเป็น operand ให้ push ไปเรื่อยๆ
3.ถ้าเป็น operator ให้ pop ตัวอักษรออก 2 ตัว แล้วทำการคำนวณตัวที่ถูก pop ที่หลังจะเป็นตัวตั้งแล้วนำ push ผลลัพธ์ลงไป