วันพุธที่ 14 กันยายน พ.ศ. 2559

โครงสร้างข้อมูลแบบทรี

โครงสร้างข้อมูลทรี

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


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


2. นิยามทรีด้วยรูปแบบรีเคอร์ซีฟทรีประกอบด้วยสมาชิกที่เรียกว่าโหนด โดยที่ ถ้าว่าง ไม่มีโหนดใด ๆ เรียกว่า นัลทรี (Null Tree)และถามโหนดหนึ่งเป็นโหดราก ส่วนที่เหลือจะแบ่งเป็น ทรีย่อย (Sub Tree)T1, T2, T3,…,Tk โดยที่ k>=0 และทรีย่อยต้องมีคุณสมบัติเป็นทรี



นิยามที่เกี่ยวข้องกับทรี1.ฟอร์เรสต์ (Forest) หมายถึง กลุ่มของทรีที่เกิดจากการเอาโหนดรากของทรีออกหรือเซตของทรีทแยกจากกัน (Disjoint Trees)


2.ทรีที่มีแบบแผน (Ordered Tree) หมายถึง ทรีที่โหนดต่าง ๆ ในทรีนั้นมี ความสัมพันธ์ที่แน่นอน เช่น ไปทางขวาไปทางซ้าย เป็นต้น




3.ทรีคล้าย (Similar Tree) คือทรีที่มีโครงสร้างเหมือนกันหรือทรีที่มีรูปร่างของทรีเหมือนกันโดยไม่คำนึงถึงข้อมูลที่อยู่ในแต่ละโหนด



4.ทรีเหมือน (Equivalent Tree) คือ ทรีที่เหมือนกันโดยสมบูรณ์โดยต้องเป็นทรีที่คล้ายกันและแต่ละโหนดในตำแหน่งเดียวกันมีข้อมูลเหมือนกัน




5.กำลัง (Degree) หมายถึงจำนวนทรีย่อยของโหนด นั้น ๆ เช่น
ในรูปโหนด “B” มีกำลังเป็น 1 เพราะมีทรีย่อย คือ {“D”}ส่วนโหนด “C” มีค่ากำลังเป็นสองเพราะมีทรีย่อย คือ {“E”, “G”, “H”, “I”} และ {“F”}


6.ระดับของโหนด (Level of Node) คือ ระยะทางในแนวดิ่งของโหนดนั้น ๆ ที่อยู่ห่างจากโหนดราก เมื่อกำหนดให้ โหนดรากของทรีนั้นอยู่ระดับ 1 และกิ่งแต่ละกิ่งมีความเท่ากันหมดคือยาวเท่ากับ 1หน่วยซึ่งระดับของโหนดจะเท่ากับจำนวนกิ่งที่น้อยที่สุดจากโหนดรากไปยังโหนดใด ๆ บวกด้วย 1และจำนวนเส้นทางตามแนวดิ่งของโหนดใด ๆ ซึ่งห่างจากโหนดราก เรียกวา ความสูง (Height)หรือความ ลึก (Depth)


การท่องไปในไบนารีทรี
     ปฏิบัติการที่สำคัญในไบนารีทรี คือ การท่องไปในไบนารีทรี (Traversing Binary Tree) เพื่อเข้าไปเยือนทุก ๆโหนดในทรี ซึ่งวิธีการท่องเข้าไปต้องเป็นไปอย่างมีระบบแบบแผน สามารถเยือนโหนดทุก ๆโหนด ๆ ละหนึ่งครั้งวิธีการท่องไปนั้นมีด้วยกันหลายแบบแล้วแต่ว่าต้องการลำดับขั้นตอนการเยือนอย่างไร โหนดที่ถูกเยือนอาจเป็นโหนดแม่ (แทนด้วย N)ทรีย่อยทางซ้าย (แทนด้วย L)หรือทรีย่อยทางขวา (แทนด้วย R)
1. การท่องไปแบบพรีออร์เดอร์(Preorder Traversal) เป็นการเดินเข้าไปเยือนโหนดต่าง ๆ ในทรีด้วยวิธีNLR มีขั้นตอนการเดินดังต่อไปนี้
(1) เยือนโหนดราก
(2) ท่องไปในทรีย่อยทางซ้ายแบบพรีออร์เดอร์
(3) ท่องไปในทรีย่อยทางขวาแบบพรีออร์เดอร์





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



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




แบบทดสอบ


1.โครงสร้างข้อมูลแบบต้นไม้เป็นโครงสร้างชนิดใด
ก. ชนิดเชิงเส้น
ข. ชนิดไม่เชิงเส้น
ค. ชนิดตัดสินใจเลือก
ง. ชนิดทำงานซ้ำ

2. โหนดพิเศษโหนดหนึ่งที่อยู่บนสุดแรกเรียกว่าอะไร
ก. Father
ข. Subtree
ค. Leat Node
ง. Root Node

3. Level มีความหมายตรงกับข้อใด
ก. รูท
ข. ดีกรีของโหนด
ค. โหนดที่เป็นใบ
ง. ระดับของโหนด

4. ดีกรีของโหนดคืออะไร
ก. รูทโหนด
ข. จำนวนต้นไม้ 1 ต้น
ค. ต้นไม้แบบพรีออเดอร์
ง. จำนวนต้นไม้ย่อยของโหนดนั้น

5. ป่าไม้ในโครงสร้างข้อมูลแบบต้นไม้ หมายถึงสิ่งใด
ก. กลุ่มของต้นไม้
ข. ต้นไม้ย่อยซ้าย
ค. ต้นไม้ย่อยขวา
ง. การดูแลต้นไม้

6. โครงสร้างข้อมูลแบบต้นไม้ มีลักษณะคล้ายสิ่งใด
ก. ใบไม้
ข. รากของต้นไม้
ค. ลำต้นของต้นไม้
ง. กิ่งก้านของต้นไม้

7. ต้นไม้ธรรมชาติจะงอกจากล่างขึ้นบน ส่วนโครงสร้างข้อมูลแบบต้นไม้นั้นจะเจริญเติบโตอย่างไร
ก.จากล่างไปบน
ข. จากบนลงล่าง
ค. จากซ้ายไปขวา
ง. จากขวาไปซ้าย

8. ต้นไม้ Binary ที่แต่ละโหนดภายในจะมีโหนดย่อยซ้ายโหนดย่อยขวาและโหนดใบหมายถึงต้นไม้แบบใด
ก. ต้นไม้ไบนารีคู่
ข. ต้นไม้ไบนารีเดี่ยว
ค. ต้นไม้ไบนารีแบบสมบูรณ์
ง. ต้นไม้ไบนารีแบบไม่สมบูรณ์

9. ข้อใดไม่ใช่การแทนต้นไม้ไบนารีในหน่วยความจำ
ก. การแทนโดยอาศัยพอยน์เตอร์
ข การแทนโดยอาศัยแอดเดรสของโหนด
ค. การแทนแบบวีแควนเชียล
ง. การแทนแบบลำดับชั้น

10. LVR คือวิธีการเดินเข้าแบบใด
ก. แบบพรีออร์เดอร์
ข. แบบอินออร์เดอร์
ค. แบบโพสต์ออร์เดอร์
ง. ไม่มีข้อใดถูก




เฉลยแบบทดสอบ


1.ข
2.ง
3.ง
4.ง
5.ก
6.ง
7.ข
8.ค
9.ง
10.ข















โครงสร้างข้อมูลแบบสแตก

โครงสร้างข้อมูลแบบสแตก SRACK


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

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

 สแตกประกอบด้วยส่วนสำคัญ ๆ 2 ส่วน คือ 
1. ตัวชี้สแตก หรือ Stack Pointer ซึ่งเป็นตัวควบคุมการนำสมาชิกเข้า หรือออกจากสแตก เป็นตัวใช้บอกว่าสแตกนั้นเต็มหรือยัง
2. ส่วนสมาชิกของสแตก หรือจะเรียกอีกอย่างว่า Stack Element สมาชิกของสแตกนี้จะเป็นข้อมูลชนิดเดียวกันทั้งหมด

การสร้างสแตก

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


การดำเนินงาน

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

การ POP 
     เป็นการกระทำหรือการทำงานของสแตกที่นำข้อมูลที่เก็บอยู่ในสแตกออกจากสแตกมาใช้งาน โดยการ POP นี้ เมื่อทำการ POP ข้อมูลนั้นออกจากสแตกแล้ว จะต้องมีการจัดการให้ตัวชี้สแตกชี้ไปยังช่องหรือตำแหน่งก่อนหน้าข้อมูลที่ได้ทำการ POP ข้อมูลออกไป
    การ POP ข้อมูลนี้จะทำการนำข้อมูลในส่วนบนสุดของสแตกออกไปทำงานตามต้องการ แต่การ POP ข้อมูลนี้จะไม่สามารถ POP ข้อมูลออกจากสแตกที่ว่างเปล่าหรือไม่มีข้อมูลได้ ถ้าเราพยายาม POP ข้อมูลออกจากสแตกที่ว่างเปล่า จะเกิด Error ที่เรียกว่า Stack Underflow 


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

 การแปลงนิพจน์ infix ให้เป็น postfix 
      โดยปกติเวลาเขียนโปรแกรมสั่งให้เครื่องคำนวณต้องเขียนนิพจน์ที่ต้องการไปในตัวโปรแกรม ซึ่งนิพจน์เหล่านี้เรียกว่า นิพจน์ infix คือนิพจน์ที่มี ตัวดำเนินการ (Operator) อยู่ระหว่างตัวถูกกระทำ (Operand) เช่น A + B เครื่องหมาย + เป็นโอเปอเรเตอร์ระหว่างโอเปอร์แรนด์ A และ B ซึ่งเห็นว่าเป็นนิพจน์ที่มนุษย์คุ้นเคย
     ตัวดำเนินการ ก็คือ เครื่องหมายทางคณิตศาสตร์ สำหรับการคำนวณต่างๆ เรียงตามลำดับการดำเนินการก่อน-หลัง (precedence) ได้แก่ 
                                 ยกกำลัง ^  , คูณหาร * , /  ,  บวก ลบ + , - 

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

     ข้อเสียของนิพจน์ infix ที่ทำให้คอมไพเลอร์ยุ่งยาก คือ ลำดับความสำคัญของโอเปอร์เรเตอร์ (Precedence) ที่ต่างกัน เช่น เครื่องหมายยกกำลัง (^) มีความสำคัญมากกว่าเครื่องหมายคูณ (*) และหาร (/) และเครื่องหมายคูณและหารมีความสำคัญมากกว่าเครื่องหมายบวก (+) และลบ (-) เครื่องหมายใดมีลำดับความสำคัญมากกว่าจะถูกคำนวณก่อน (ถ้าไม่มีวงเล็บกำกับ) เช่น A + B * C เครื่องจะคำนวณ B * C ก่อนแล้วนำผลลัพธ์นั้นไปบวกกับค่า A ซึ่งจะทำงานเหมือนกับ A + (B * C) ส่วนนิพจน์ใดที่มีโอเปอร์เรเตอร์ที่มีลำดับความสำคัญเท่ากัน การคำนวณจะกระทำจากซ้ายไปขวา เช่น A – B + C จะทำ A – B ก่อน แล้วจึงนำผลลัพธ์นั้นไปบวกกับค่า C

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

AB+ หมายถึง A + B 

AB- หมายถึง A - B 

AB* หมายถึง A * B 

AB/ หมายถึง A / B 

AB^ หมายถึง A ^ B 

     ข้อดีของนิพจน์ postfix คือเป็นนิพจน์ที่มีการคำนวณตามโอเปอร์เรเตอร์ที่มาก่อนหลัง เช่น นิพจน์ ABC*+ หมายถึง ทำการคูณแล้วจึงทำการบวก ซึ่งคือต้องคำนวณ B*C ก่อน แล้วจึงนำผลลัพธ์นั้นไปบวกกับ A ต่อไป


อัลกอริทึมแปลงนิพจน์ INFIX ให้เป็นนิพจน์ POSTFIX
      เนื่องจากนิพจน์ infix มีลำดับความสำคัญของเครื่องหมายโอเปร์เรเตอร์ ซึ่งหมายความว่า โอเปร์เรเตอร์ที่มาก่อน อาจจะไม่ใช่โอเปอร์เรเตอร์ที่ถูกประมวลผลก่อน ดังนั้น สแตกซึ่งมีคุณสมบัติเป็นไลโฟลิสท์จึงมีส่วนช่วยในการแปลงนิพจน์ infix ให้เป็นนิพจน์ postfix ในการนี้มีสิ่งที่เกี่ยวข้อง 3 อย่าง คือ
1. ข้อมูลเข้าซึ่งเป็นนิพจน์ infix
2. ข้อมูลออกหรือนิพจน์ postfix
3. สแตกที่ใช้เก็บโอเปอร์เรเตอร์

ข้อมูลเข้าจะถูกอ่านมาทีละอักขระ (character) แล้วดำเนินการต่อไปดังนี้ 
1. ถ้าข้อมูลเข้า (input character) เป็นโอเปอร์แรนด์ ให้พิมพ์ออกเป็นผลลัพธ์ (postfix string) 
2. ถ้าข้อมูลเข้าเป็นโอเปอร์เรเตอร์ ให้ทำดังนี้ 
    2.1 ถ้าสแตกยังว่างอยู่ ให้ PUSH โอเปอร์เรเตอร์ลงสแตก 
    2.2 ถ้าสแตกยังไม่ว่าง ให้เปรียบเทียบ โอเปอร์เรเตอร์ที่เข้ามากับโอเปอร์เรเตอร์ที่ท็อปของสแตก 
       2.2.1 ถ้าโอเปอร์เรเตอร์ที่เข้ามามี precedence น้อยกว่าหรือเท่ากับโอเปอร์เรเตอร์ที่ท็อปของสแตก ให้ POP โอเปอร์เรเตอร์จากสแตกไปเป็นผลลัพธ์ และเปรียบเทียบกับโอเปอร์เรเตอร์ที่ท็อปของสแตกต่อไป หยุดเมื่อโอเปอร์เรเตอร์ที่เป็นข้อมูลเข้ามี precedence มากกว่าโอเปอร์เรเตอร์ที่ ท็อปของสแตก หลังจากนั้นให้ PUSHข้อมูลลงสแตก 
      2.2.2 ถ้าโอเปอร์เรเตอร์ที่เข้ามามี precedence มากกว่าโอเปอร์เรเตอร์ที่ท็อปของสแตก ให้ PUSH ลงสแตก 
3. ถ้าข้อมูลเข้าเป็นวงเล็บเปิดให้ PUSH ลงสแตก 
4. ถ้าข้อมูลเข้าเป็นวงเล็บปิดให้ POP ออกจากสแตกจนกว่าจะถึงวงเล็บเปิดและนำผลที่ POP ออกไปเป็นผลลัพธ์โดยทิ้งวงเล็บปิดและเปิดทิ้งไป 
5. ถ้าข้อมูลหมด ให้ POP Operator ที่ยังคงเหลือในสแตกไปไว้เป็นผลลัพธ์จนสแตกว่าง




แบบทดสอบ
1.การนำข้อมูลเข้าสแต็กเรียกว่าอะไร
ก. Push
ข. Pop
ค. Stack
ง. Top

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

3. ข้อใดที่กล่าวถึง Operations เกี่ยวกับสแต็กไม่ถูกต้อง
ก. Push A
ข. Push 20
ค. Pop A
ง. Pop

4. ขณะที่สแต็กว่าง ถ้ามีการดำเนินการ Push W , Push D , Push x , Push Q , หลังจากนั้นทำการ Pop ค่าที่ออกจากแสต็กคือค่าใดบ้าง
ก. W D X Q
ข. W D Q X
ค. Q X D W
ง. Q X W D

5. ข้อใดที่เป็นนิพจน์อินฟิกซ์
ก. A+B-C
ข. +AB-C
ค. +-ABC
ง. AB+C-

6. ข้อใดที่เป็นนิพจน์โฟสต์ฟิกซ์
ก. A+B-C
ข. +AB-C
ค. +-ABC
ง. AB+C-

7. ข้อใดเป็น Operators ทั้งหมด
ก. + - * / ^
ข. + ( ) = >
ค. A Z % ( ) ^
ง. + % ( ) ^

8. นิพจน์ AB+ เรียกว่านิพจน์อะไร
ก. นิพจน์อินฟิกซ์
ข. นิพจน์โพสต์ฟิกซ์
ค. นิพจน์พรีฟิกซ์
ง. ไม่มีข้อใดถูก

9. แปลงนิพจน์ A+B/C*D=E
ก. ABC/D*+E-
ข. ABC/D*E+ -
ค. ABC/D+E* -
ง. ABC/D*E+ -

10. แปลงนิพจน์พรีฟิกซ์ - 5 + 9 * 3 – 1 2 เป็นนิพจน์โพสต์ฟิกซ์ได้คำตอบตามข้อใด
ก. 5 9 3 1 2 - * + -
ข. 5 - 9 + 3 * 1 - 2
ค. 5 9 - 3 * 1 + 2
ง. - + * - 5 9 3 1 2


เฉลยแบบทดสอบ
1.ก
2.ค
3.ข
4.ก
5.ก
6.ค
7.ข
8.ข
9.ก
10.ก







        


วันพุธที่ 7 กันยายน พ.ศ. 2559

กลุ่มประเทศอาเซียน

ประเทศอาเซียน


1.ประเทศบรูไน ดารุสซาลาม (Brunei Darussalam)
เมืองหลวง : บันดาร์ เสรี เบกาวัน
ภาษา : ภาษามาเลย์ เป็นภาษาราชการ รองลงมาเป็นอังกฤษและจีน
ประชากร : ประกอบด้วย มาเลย์ 66%, จีน11%,อื่นๆ 23%
นับถือศาสนา : อิสลาม 67%, พุทธ 13%, คริสต์ 10%
ระบบการปกครอง : ระบอบสมบูรณาญาสิทธิราชย์

จุดแข็ง
– การเมืองค่อนข้างมั่นคง
– รายได้เฉลี่ยต่อคนเป็นอันดับ 2 ในอาเซียน อันดับ 26 ของโลก
– ผู้ส่งออกและมีปริมาณสำรองน้ำมันอันดับ 4 ในอาเซียน

ข้อควรรู้
– ประชาชนของประเทศในกลุ่มอาเซียนสามารถทำวีซ่าที่ ตม.ที่ประเทศบรูไนฯสามารถอยู่ได้นาน 2 สัปดาห์
– ควรหลีกเลี่ยงเสื้อผ้าสีเหลือง เพราะถือเป็นสีของพระมหากษัตริย์
– การทักทายจะจับมือกันเบาๆ และสตรีจะไม่ยื่นมือให้บุรุษจับ
– การใช้นิ้วชี้ไปที่คนหรือสิ่งของถือว่าไม่สุภาพ แต่จะใช้หัวแม่มือชี้แทน
– จะไม่ใช้มือซ้ายในการส่งของให้ผู้อื่น
– สตรีเวลานั่งจะไม่ให้เท้าชี้ไปทางผู้ชายและไม่ส่งเสียงหรือหัวเราะดัง
– วันหยุดคือวันศุกร์และวันอาทิตย์, วันศุกร์ 12.00-14.00 น.ทุกร้านจะปิด
– จัดงานเย็นต้องจัดหลัง 2 ทุ่ม







2.ประเทศกัมพูชา (Cambodia)
เมืองหลวง : กรุงพนมเปญ
ภาษา : ภาษาเขมร เป็นภาษาราชการ รองลงมาเป็นอังกฤษ, ฝรั่งเศส, เวียดนามและจีน
ประชากร : ประกอบด้วย ชาวเขมร 94%, จีน 4%,อื่นๆ 2%
นับถือศาสนา : พุทธ(เถรวาท) เป็นหลัก
ระบบการปกครอง : ประชาธิปไตยแบบรัฐสภาโดยมีพระมหากษัตย์เป็นประมุขภายใต้รัฐธรรมนูญ

จุดแข็ง
– ค่าจ้างแรงงานต่ำที่สุดในอาเซียน
– มีทรัพยากรธรรมชาติหลากหลายและสมบูรณ์

ข้อควรรู้
– ผู้ที่เดินทางเข้ากัมพูชา และประสงค์จะอยู่ทำธุรกิจเป็นระยะเวลาเกิน 3 เดือน ควรฉีดยาป้องกันโรคไทฟอยด์ และไวรัสเอและบี
– เพื่อนผู้ชายจับมือกัน ถือเป็นเรื่องปกติ
– ผู้หญิงห้ามแต่งตัวเซ็กซี่, ผู้ชายไว้ผมยาวจะมีภาพลักษณ์ นักเลง
– ห้ามจับศีรษะ คนกัมพูชาถือว่าเป็นส่วนสำคัญที่สุดของร่างกาย
– สบตามากเกินไป ถือว่าไม่ให้เกียรติ






3.ประเทศอินโดนีเซีย (Indonesia)
เมืองหลวง : จาการ์ตา
ภาษา : ภาษาอินโดนีเซีย เป็นภาษาราชการ
ประชากร : ประกอบด้วย ชนพื้นเมืองหลายกลุ่ม มีภาษามากกว่า 583 ภาษา ร้อยละ 61 อาศัยอยู่บนเกาะชวา
นับถือศาสนา : อิสลาม 87%, คริสต์ 10%
ระบบการปกครอง : ประชาธิปไตยที่มีประธานาธิปดีเป็นประมุข และหัวหน้าฝ่ายบริหาร


จุดแข็ง
– มีขนาดเศรษฐกิจใหญ่ที่สุดในเอเชียตะวันออกเฉียงใต้
– มีจำนวนประชากรมากที่สุดในเอเชียตะวันออกเฉียงใต้

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






4.ประเทศลาว (Laos)
เมืองหลวง : นครหลวงเวียงจันทร์
ภาษา : ภาษาลาว เป็นภาษาราชการ
ประชากร : ประกอบด้วย ชาวลาวลุ่ม 68%, ลาวเทิง 22%, ลาวสูง 9% รวมประมาณ 68 ชนเผ่า
นับถือศาสนา : 75% นับถือพุทธ, นับถือผี 16%
ระบบการปกครอง : สังคมนิยมคอมมิวนิสต์ (ทางการลาวใช้คำว่า ระบบประชาธิปไตยประชาชน)

จุดแข็ง
– ค่าจ้างแรงงานต่ำอันดับ 2 ในอาเซียน
– การเมืองมีเสถียรภาพ

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






5.ประเทศมาเลเซีย (Malaysia)
เมืองหลวง : กรุงกัวลาลัมเปอร์
ภาษา : ภาษามาเลย์ เป็นภาษาราชการ รองลงมาเป็นอังกฤษและจีน
ประชากร : ประกอบด้วย มาเลย์ 40%, จีน33%, อินเดีย 10%, ชนพื้นเมืองเกาะบอร์เนียว 10%
นับถือศาสนา : อิสลาม 60%, พุทธ 19%, คริสต์ 11%
ระบบการปกครอง : ประชาธิปไตยในระบบรัฐสภา

จุดแข็ง

– มีปริมาณสำรองน้ำมันมากเป็นอันดับ 3 ในเอเชียแปซิฟิค
– มีปริาณก๊าซธรรมชาติมากเป็นอันดับ 2 ในเอเชียแปซิฟิค

ข้อควรรู้
– ผู้ที่นับถือศาสนาอิสลามจะได้รับสิทธิพิเศษ คือ เงินอุดหนุนทางด้านการศึกษา สาธารณสุข การคลอดบุตรงานแต่งงานและงานศพ
– มาเลเซียมีปัญหาประชากรหลากหลายเชื้อชาติ ชาติพันธุ์ในมาเลเซียประกอบด้วยชาวมาเลย์ กว่าร้อยละ 40 ที่เหลืออีกกว่าร้อยละ 33 เป็นชาวจีนร้อยละ10 เป็นชาวอินเดีย และ อีกร้อยละ 10 เป็นชนพื้นเมืองบนเกาะบอร์เนียว
– ใช้มือขวาเพียงข้างเดียวในการรับประทานอาหาร และรับส่งของ
– เครื่องดื่มแอลกฮอล์เป็นเรื่องต้องห้าม








6.ประเทศเมียนมาร์ หรือพม่า (Myanmar)เมืองหลวง : เนปีดอ (Naypyidaw)
ภาษา : ภาษาพม่า เป็นภาษาราชการ
ประชากร : ประกอบด้วยเผ่าพันธุ์ 135 มี 8 เชื้อชาติหลักๆ 8 กลุ่ม คือ พม่า 68%, ไทยใหญ่ 8%, กระเหรี่ยง 7%, ยะไข่ 4% จีน 3% มอญ 2% อินเดีย 2%
นับถือศาสนา : นับถือพุทธ 90%, คริสต์ 5% อิสลาม 3.8%
ระบบการปกครอง : เผด็จการทางทหาร ปกครองโดยรัฐบาลทหารภายใต้สภาสันติภาพและการพัฒนาแห่งรัฐ

จุดแข็ง
– มีพรมแดนเชื่อมต่อกับจีน และอินเดีย
– ค่าจ้างแรงงานต่ำเป็นอันดับ 3 ในอาเซียน
– มีปริมาณก๊าซธรรมชาติเป็นจำนวนมาก

ข้อควรรู้
– ไม่ควรพูดเรื่องการเมือง กับคนไม่คุ้นเคย
– เข้าวัดต้องถอดรองเท้า ถุงเท้า
– ห้ามเหยียบเงาพระสงฆ์
– ให้นามบัตรต้องยื่นให้สองมือ
– ไม่ควรใส่กระโปรงสั้น กางเกงขาสั้น ในสถานที่สาธารณะและศาสนสถาน
– ผู้หญิงชอบทาทะนาคา (ผู้ชายก็ทาด้วย)ผู้ชายชอบเคี้ยวหมาก







7.ประเทศฟิลิปปินส์ (Philippines)
เมืองหลวง : กรุงมะนิลา
ภาษา : ภาษาฟิลิปิโน และภาษาอังกฤษ เป็นภาษาราชการ รองลงมาเป็น สเปน, จีนฮกเกี้ยน, จีนแต้จิ๋ว ฟิลิปปินส์ มีภาษาประจำชาติคือ ภาษาตากาล็อก
ประชากร : ประกอบด้วย มาเลย์ 40%, จีน33%, อินเดีย 10%, ชนพื้นเมืองเกาะบอร์เนียว 10%
นับถือศาสนา : คริสต์โรมันคาทอลิก 83% คริสต์นิกายโปรเตสแตนต์, อิสลาม 5%
ระบบการปกครอง : ประชาธิปไตยแบบประธานาธิปดีเป็นประมุขและหัวหน้าฝ่ายบริหาร

จุดแข็ง
– แรงงานทั่วไป ก็มีความรู้สื่อสารภาษาอังกฤษได้

ข้อควรรู้
– การเข้าไปประกอบธุรกิจในฟิลิปปินส์ในลักษณะต่างๆ เช่น การลงทุนร่วมกับฝ่ายฟิลิปปินส์จำเป็นต้องมีการศึกษาข้อมูลให้ละเอียด โดยเฉพาะในด้านกฎหมาย การจดทะเบียนภาษี และปัญหาทางด้านแรงงาน เป็นต้น
– เท้าสะเอว หมายถึง ท้าทาย, เลิกคิ้ว หมายถึง ทักทาย
– ใช้ปากชี้ของ
– กินข้าวบ้านเพื่อนสามารถห่อกลับได้แต่ควรมีของฝากให้เขาด้วย
– ตกแต่งบ้าน 2 เดือนต้อนรับคริสต์มาส





8.ประเทศสิงคโปร์ (Singapore)
เมืองหลวง : สิงคโปร์
ภาษา : ภาษามาเลย์ เป็นภาษาราชการ รองลงมาคือจีนกลาง ส่งเสริมให้พูดได้ 2 ภาษาคือ จีนกลาง และให้ใช้อังกฤษ เพื่อติดต่องานและชีวิตประจำวัน
ประชากร : ประกอบด้วยชาวจีน 76.5%, มาเลย์ 13.8%, อินเดีย 8.1%
นับถือศาสนา : พุทธ 42.5%, อิสลาม 14.9%, คริสต์ 14.5%, ฮินดู 4%, ไม่นับถือศาสนา 25%
ระบบการปกครอง : สาธารณรัฐ (ประชาธิปไตยแบบรัฐสภา มีสภาเดียว) โดยมีประธานาธิปดีเป็นประมุข และนายกรัฐมนตรีเป็นหัวหน้าฝ่ายบริหาร

จุดแข็ง
– รายได้เฉลี่ยต่อคน เป็นอันดับ 1 ในอาเซียน และอันดับ 15 ของโลก
– แรงงานมีทักษะสูง

ข้อควรรู้
– หน่วยราชการเปิดทำการวันจันทร์ – ศุกร์ ระหว่างเวลา 08.30 น.-13.00 น. และ 14.00 น. – 16.30 น. และวันเสาร์ เปิดทำการระหว่างเวลา 08.00 น. – 13.00 น.
– การหลบหนีเข้าสิงคโปร์และประกอบอาชีพเร่ขายบริการผิดกฎหมายจะถูกลงโทษอย่างรุนแรง
– การลักลอบนำยาเสพติดอาวุธปืนและสิ่งผิดกฎหมายอื่นๆจะได้รับโทษอย่างรุนแรงถึงขั้นประหารชีวิต
– ขึ้นบันไดเลื่อนให้ชิดซ้าย
– ห้ามทิ้งขยะเรี่ยราด,ห้ามเก็บผลไม้ในที่สาธารณะ
– ผู้สูงอายุทำงานถือเป็นเรื่องปกติ






9.ประเทศเวียดนาม (Vietnam)
เมืองหลวง : กรุงฮานอย
ภาษา : ภาษาเวียดนาม เป็นภาษาราชการ
ประชากร : ประกอบด้วยชาวเวียด 80%, เขมร 10%
นับถือศาสนา : พุทธนิกายมหายาน 70%, คริสต์ 15%
ระบบการปกครอง : ระบบสังคมนิยม โดยพรรคคอมมิวนิสต์เป็นพรรคการเมืองเดียว

จุดแข็ง
– มีปริมาณสำรองน้ำมันดิบมากเป็นอันดับ 2 ในเอเชียแปซิฟิค

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






10.ประเทศไทย (Thailand)
เมืองหลวง : กรุงเทพมหานคร
ภาษา : ภาษาไทย เป็นภาษาราชการ
ประชากร : ประกอบด้วยชาวไทยเป็นส่วนใหญ่
นับถือศาสนา : พุทธนิกายเถรวาท 95%, อิสลาม 4%
ระบบการปกครอง : ระบบประชาธิปไตยแบบรัฐสภา อันมีพระมหากษัตริย์ทรงเป็นประมุข

จุดแข็ง
– เป็นศูนย์กลางเชื่อมโยงคมนาคมด้านต่างๆ ในภูมิภาคอาเซียน
– มีแหล่งท่องเที่ยวทางธรรมชาติและวัฒนธรรมที่มีชื่อเสียง

ข้อควรรู้
– ไปศาสนสถานควรแต่งกายเรียบร้อย, ก่อนเข้าอุโบสถต้องถอดรองเท้า
– ห้ามพระสงฆ์สัมผัสสตรี
– สถาบันพระมหากษัตริย์เป็นที่เคารพสัการะ การละเมิดใดๆถือเป็นความผิดตามรัฐธรรมนูญ
– ทักทายกันด้วยการไหว้
– ถือว่าเท้าเป็นของต่ำ ไม่ควรพาดบนโต๊ะหรือเก้าอี้หรือหันทิศทางไปที่ใคร
– ธงชาติถือเป็นของสูง ไม่ควรนำมากระทำการใดๆที่เป็นการเหยียดหยาม
– การแสดงออกทางเพศในที่สาธารณะยังไม่ได้รับการยอมรับในวัฒนธรรมไทย



วันอังคารที่ 6 กันยายน พ.ศ. 2559

โทษและโรคของบุหรี่

บุหรี่




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

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


โทษของบุหรี่ที่มีต่อตัวผู้สูบ

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



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


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





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


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




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


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


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


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


โทษของบุหรี่ต่อคนรอบข้าง

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

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

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


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






วันจันทร์ที่ 5 กันยายน พ.ศ. 2559

แบบทดสอบ


แบบทดสอบโครงสร้างกราฟ

1.โครงสร้างข้อมูลแบบกราฟเปรียบได้กับอะไร
ก. เซ็ตของจุด
ข. เซ็ตของเส้น
ค. เส้นการเชื่อมต่อ
ง. ถูกทุกข้อ

2. กราฟรูปนี้เป็นกราฟชนิดใด
ก. กราฟระบุทิศทาง
ข. กราฟไม่ระบุทิศทาง
ค. กราฟระบุน้ำหนัก
ง. ผิดทุกข้อ

3. รูปแบบโครงสร้างที่กำหนดเชื่อมต่อแบบเส้นมีความสัมพันธ์แบบใด
ก. One to One
ข. One to many
ค. Many to One
ง. Many to Many

4. การท่องเข้าไปในกราฟแบบ Breadth First Traversal ท่องอย่างไร
ก. เข้าจากโหนดล่างสุดจากซ้ายไปขวา
ข. เข้าจากโหนดล่างสุดจากขวาไปซ้าย
ค. เข้าจากตัวโหนดแรกแล้วลงซ้ายไปขวา
ง. เข้าจากตัวโหนดแรกแล้วลงขวาไปซ้าย

5. การท่องเข้าไปในกราฟแบบ Depth First Search (BFS) ท่องอย่างไร
ก. เข้าจากโหนดล่างสุดจากซ้ายไปขวา
ข. เข้าจากโหนดล่างสุดจากขวาไปซ้าย
ค. ท่องเข้ายังโครงสร้างทรีแบบอินออเดอร์
ง.ท่องเข้ายังโครงสร้างทรีแบบพรีออเดอร์

6. Node of Graph มีความหมายตรงกับข้อใด
ก. การเชื่อม
ข. เซ็ตของจุดบนกราฟ
ค. เซ็ตของเส้นบนกราฟ
ง. โหนดของกราฟหรือโหนด

7. Critical path method มีความหมายตรงกับข้อใด
ก. เส้นทางการเชื่อมต่อ
ข. เซ็ตของจุดบนกราฟ
ค. เส้นทางเดินบนกราฟ
ง. การวิเคราะห์เส้นทางวิกฤต

8. Shortest path analysis มีความหมายตรงกับข้อใด
ก. เส้นทางสั้นๆ
ข. เส้นทางเดินบนกราฟ
ค. การวิเคราะห์เส้นทางที่สั้นที่สุด
ง. การออกแบบเส้นทางเดินที่สั้นที่สุด

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

10. กราฟระบุน้ำหนักเป็นอย่างไร
ก. เป็นกราฟที่ไม่ระบุทิศทาง
ข. เป็นกราฟที่ระบุทิศทางและบอกน้ำหนักได้
ค. เป็นกราฟที่ใช้ชั่งน้ำหนักของสินค้าที่ใช้ในการซื้อขาย
ง. ไม่มีข้อใดถูก


เฉลยแบบทดสอบ
1.ง
2.ก
3.ข
4.ค
5.ง
6.ง
7.ง
8.ค
9.ก
10.ข

วันอาทิตย์ที่ 4 กันยายน พ.ศ. 2559

โครงสร้างข้อมูลแบบกราฟ (Graphs)

กราฟ (Graph) เป็นโครงสร้างข้อมูลไม่เป็นเชิงเส้น (Nonlinear Data Structure) มีความแตกต่างจากโครงสร้างข้อมูลทรีในบทที่ผ่านมา แต่เป็นลักษณะพิเศษแบบหนี่งของกราฟโดยทรีเป็นกราฟอะไซคลิกที่ไม่มีการวนลูปและการวนถอยกลับ เป็นกราฟเชื่อมกันที่มีเพียงเอจเดียวระหว่างสองโหนด
      กราฟเป็นโครงสร้างข้อมูลประเภทหนึ่งที่แสดงความสัมพันธ์ระหว่าง vertex และ edge กราฟจะประกอบด้วยกลุ่มของ vertex ซึ่งแสดงในกราฟด้วยสัญลักษณ์รูปวงกลม และ กลุ่มของ edge (เส้นเชื่อมระหว่าง vertex) ใช้แสดงถึงความสัมพันธ์ระหว่าง vertex หากมี vertex ตั้งแต่ 2 vertex ขึ้นไปมีความสัมพันธ์กัน ใช้สัญลักษณ์เส้นตรงซึ่งอาจมีหัวลูกศร หรือไม่มีก็ได้
กราฟสามารถเขียนแทนด้วยสัญลักษณ์ ดังนี้
G = ( V , E )
G คือ กราฟ
V คือ กลุ่มของ vertex
E คือ กลุ่มของ edge
ศัพท์ที่เกี่ยวข้อง
1.เวอร์เทก (Vertex)  หมายถึง  โหนด
2.เอดจ (Edge)        หมายถึง  เส้นเชื่อมของโหนด
3.ดีกรี (Degree)      หมายถึง จำนวนเส้นเข้าและออก ของโหนดแต่ละโหนด
4.แอดจาเซนท์โหนด (Adjacent Node)    หมายถึง โหนดที่มีการเชื่อมโยงกัน
 ประเภทของกราฟ
แบ่งเป็น 3 ประเภทโดยแบ่งตามประเภทของ edge ได้ดังนี้
1. Direct Graph (กราฟแสดงทิศทาง) เป็นกราฟที่แสดงเส้นเชื่อมระหว่าง vertex โดแสดงทิศทางของการเชื่อมต่อด้วย
2. Undirected Graph กราฟที่แสดงเส้นเชื่อมต่อระหว่าง vertex แต่ไม่แสดงทิศทางของการเชื่อมต่อ
3. Cyclic Graph กราฟที่มีเส้นเชื่อมต่อระหว่าง vertex ที่ทำให้ vertex มีลักษณะเป็นวงจรปิด (Cycle) เส้นเชื่อมต่อระหว่าง vertex อาจจะแสดงทิศทางหรือไม่แสดงทิศทางการเชื่อมต่อก็ได้

เส้นทาง (Path) 
           เส้นทางคือการเดินทางจาก vertex หนึ่งไปยังอีก vertex หนึ่งที่ต้องการ โดยผ่าน edge ที่เชื่อมระหว่าง vertex
 ความยาวของเส้นทาง (The length of path) คือ จำนวนของ edge ในเส้นทางเดินนั้น ว่ามีจำนวนเท่าไหร่ ในการเดินทางจาก vertex หนึ่ง ไปยังอีก vertex หนึ่ง ถ้าหากเส้นทางประกอบด้วย vertex จำนวน N ความยาวของเส้นทางจะเท่ากับ N-1
ตัวอย่างเส้นทางการเดินทาง จาก vertex A ไป vertex D จะมีเส้นทางดังนี้

การแทนที่กราฟด้วยเมตริกซ์ 
           โครงสร้างข้อมูลประเภทกราฟสามารถใช้เมตริกซ์มาแสดงแทนได้ โดยกราฟที่ประกอบด้วย vertex จำนวน N vertex สามารถแทนที่ด้วยเมตริกซ์ขนาด N x N โดยค่าในเมตริกซ์จะประกอบด้วยค่า 0 และ 1
         ค่า 0 จะใช้แทนไม่มี edge ความยาว 1 เชื่อมต่อจากต้นทางไปปลายทาง และ
 ค่า 1 จะใช้แทนมี edge ความยาว 1 เชื่อมต่อจากต้นทางไปปลายทาง
ตัวอย่างจากรูปกราฟแบบ Direct Graph

สามารถแทนที่กราฟด้วยเมตริกซ์ดังนี้

ตัวอย่าง หากเป็นกราฟแบบ Undirected Graph
การคำนวณเส้นทางระหว่าง vertex โดยใช้ Adjacency Matrix 
           จากการแทนที่กราฟด้วยเมตริกซ์ เราสามารถนำเมตริกซ์ที่ได้มาคำนวณหาจำนวนเส้นทางระหว่าง vertex ต้นทางและปลายทางที่มีจำนวน edge ต่างๆ ได้

ตัวอย่างจากรูป สามารถคำนวณจำนวนเส้นทางระหว่าง vertex ที่มี edge จำนวน 3 เส้นได้ดังนี้



ตัวอย่างจากรูป สามารถคำนวณจำนวนเส้นทางระหว่าง vertex ที่มี edge จำนวน 4 เส้นได้ดังนี้