More Related Content
๋Java Programming [7/12] : GUI Event Handling การวิเคราะห์อัลกอริทึม(algorithm analysis) ???.??????????? ?.1 ???? 2 ???????? 10 บทที่ 7 การสร้างเว็บไซต์อีคอมเมิร์ซ ตัวอย่างบทคัดย่อวิทยานิพนธ์ บทที่ 4 สมการเชิงเส้นตัวแปรเดียว แบบฝึกหัด เรื่อง การเขียนผังงาน What's hot (20)
ใบงานที่ 1.1 เรื่อง ประเภทแหล่งข้อมูล การวิเคราะห์และสังเคราะห์สารสนเทศ 2.1การวิเคราะห์และนำเสนอข้อมูลเชิงคุณภาพด้วยตารางความถี่ การบำรุงรักษาคอมพิวเตอร์และอุปกรณ์ต่อพ่วง ทฤษฎีการเรียนรู้ (Learning theory) อัลกอริทึมและการวิเคราะห์ปัญหา ใบงานที่ 5 การคำนวณในตารางทำงาน 4. to use sequence and series รายงานค่ายทักษะกระบวนการคณิตศาสตร์ วิทยาศาสตร์ โรงเรียนสมเด็จพระญาณสังวร ปี ... ใบงานที่ 3 การตกแต่งข้อมูลและตาราง ทฤษฎีการเรียนรู้ (Learning theory) 08ความเสี่ยงในการใช้คอมพิวเตอร์ แผนการสอนวิชาการเขียนโปรแกรมภาษาซี หน่วยการเรียนรู้ที่ 1 ซอฟต์แวร์และการเลือกใช้ More from tumetr (20)
ขั้นตอนการสร้าง Facebook page ตั้งรับ ขับเคลื่อนธุรกิจและผลักดันคนไอทีไทยสู่-Aec-2015 The system-analysis-and-design การพัฒนาและติดตั้งระบบ(System implementation) ส่วนจัดการสื่อประสานผู้ใช้(User interface-management) An approach-to-planning-software-projects ทรัพยากรมนุษย์และการออกแบบงาน กลยุทธ์การเลือกทำเลที่ตั้งสถานประกอบการ กลยุทธ์การวางผังสถานประกอบการ หน่วยที่ 5.3.2 การสุขาภิบาลอาหาร หน่วยที่ 5.3.1 สารปนเปื้อนในอาหาร หน่วยที่ 5.2 ผลิตภัณฑ์อาหารเพื่อสุขภาพ โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist) สแตกและคิว (Stack & queue)
- 2. FIFO และ LIFO
First In Fisrt Out : FIFO หมายถึงข้อมูลที่เข้ามาในลิสต์
ก่อน จะถูกนำาออกจากลิสต์เป็นลำาดับแรก เช่น การ
ยืนรอคิวเพื่อซื้อตั๋ว
Last In First Out : LIFO หมายถึงข้อมูลที่เข้ามาในลิสต์
เป็นลำาดับสุดท้าย จะถูกนำาออกจากลิสต์เป็นอันดับ
แรก เช่น การนำาชั้นของปิ่นโตเข้าและออกจากเถา
ปิ่นโต
- 4. การกระทำา(Operation) ที่เกี่ยวข้อง
กับโครงสร้างข้อมูลแบบ Stack
ปฏิบัติการพื้นฐานของสแตกได้แก่ push คือการนำา
ข้อมูลเก็บในสแตก และ pop คือการนำาข้อมูลออก
จากสแตก ซึ่งทั้งสองกระบวนการ จะกระทำาที่ส่วนบน
สุดของสแตกเสมอ โดยปกติแล้วมักกำาหนดให้มีตัวชี้
ส่วนบนสุดของสแตก เรียกว่า top ส่วนปฏิบัติการ
อื่น ๆ เป็นปฏิบัติการที่เกี่ยวเนื่องกับการ push และ pop
มีดังนี้
การสร้างสแตก (CREATE)
การทดสอบว่า stack ว่างหรือไม่(EMPTY)
การทดสอบว่า stack เต็มหรือไม่(FULL)
การทำาให้ stack เป็น stack ว่าง(CLEAR)
- 10. การสร้าง stack ด้วย Array
หมายถึง การแทนที่ข้อมูลของ
stack ด้วย array ซึ่ง เป็นการจัดสรร
เนื้อที่หน่วยความจำาแบบ static นั่น
คือ
มีการกำาหนดขนาดของ stack ล่วง
หน้าว่ามีขนาดเท่าใด และจะมีการ
จัดสรรเนื้อที่หน่วยความจำาให้เลย
- 15. การสร้าง stack ด้วย Link List
หมายถึง การแทนที่ข้อมูลของ stack
ด้วย Link list ซึ่งเป็นการจัดสรรเนื้อที่
หน่วยความจำาแบบ Dynamic นั่นคือ
หน่วยความจำาจะถูกจัดสรรเมื่อมีการของ
ใช้จริงๆ ระหว่างการประมวลผล
โปรแกรมผ่านตัวแปรชนิด Pointer
- 26. การประยุกต์ใช้ stack
โครงสร้างข้อมูลแบบ stack มีการประยุกต์ใช้มากใน
การเขียนโปรแกรมของสาขาวิทยาการคอมพิวเตอร์
เช่น การจัดสรรหน่วยความจำาในการประมวลผล
โปรแกรม การตรวจสอบอักขระสมดุล(Balancing Symbol)
และการคำานวณนิพจน์คณิตศาสตร์
- 37. วิธีการเปลี่ยน Infix เป็น Postfix
Algorithm การเปลี่ยน Infix เป็น Postfix
ให้ EXP เป็นสมการคณิตศาสตร์ที่เป็น Infix และ
Stack เป็น stack ใด ๆ NEXP เป็นสมการที่เป็น
Postfix
1. ใส่ “(“ เข้าไปใน Stack
2. อ่าน EXP จากซ้ายไปขวา
2.1 ถ้าพบตัวถูกดำาเนินการ(ตัวเลข) ให้ใส่เข้าไป
ใน NEXP
2.2 ถ้าพบ “(“ ให้ push ใส่ stack
- 38. วิธีการเปลี่ยน Infix เป็น Postfix
2.3 ถ้าพบตัวดำาเนินการ(เครื่องหมาย) ให้ทำาดังนี้
- ให้ pop ตัวดำาเนินการ ทุกตัวที่มีลำาดับความสำาคัญ
กว่าตัวดำาเนินการที่พบใน 2.3 ออกมาใส่ใน NEXP ให้หมด
- นำาตัวดำาเนินการที่พบใน 2.3 push เข้าใน stack
แทนที่
2.4 ถ้าพบ “)” ให้ทำาดังนี้
- ให้ push ตัวดำาเนินการ ทุกตัวมาใส่ไว้ใน NEXP ให้
หมดจนพบ “(“
- push “(“ ทิ้ง
3. จบการทำางาน
- 41. A + B * C
เครื่องหมาย Stack นิพจน์ Postfix
A
+
B
*
C
ว่าง
+
+
+ , *
+ , *
A
A
AB
AB
ABC
ABC*+
- 42. (A + B) * C
เครื่องหมาย Stack นิพจน์ Postfix
(
A
+
B
)
*
C
(
(
(+
(+
ว่าง
*
*
ว่าง
A
A
AB
AB+
AB+
AB+C
AB+C*
- 44. 8*(4+3)-9/6
เครื่องหมาย Stack นิพจน์ Postfix
8
*
(
4
+
3
)
-
9
/
6
ว่าง
ว่าง
*
*(
*(
*(+
*(+
*
-
-
- /
- /
8
8
8
8 4
8 4
8 4 3
8 4 3 +
8 4 3 + *
8 4 3 + * 9
8 4 3 + * 9
8 4 3 + * 9 6
8 4 3 + * 9 6 / -