ผลต่างระหว่างรุ่นของ "ร่างสารบัญ (หนังสือแด่เขมรัตน์)"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(Reverted edit of 87.101.244.7, changed back to last version by 62.231.243.136)
แถว 1: แถว 1:
altaze
+
== หน้าปก ==
== หน้าปก ==
+
<center>'''คอมพิวเตอร์โอลิมปิก'''</center>
<center>'''คอมพิวเตอร์โอลิมปิก'''</center>
 
  
== หน้าใน ==
+
== หน้าใน ==
<center>แด่</center>
+
<center>แด่</center>
  
<center>'''เขมรัตน์ นิ่มปุญญกำพงษ์'''</center>
+
<center>'''เขมรัตน์ นิ่มปุญญกำพงษ์'''</center>
  
<center>เพื่อนผู้แสนดี อดีตตัวแทนประเทศไทยไปแข่งคอมพิวเตอร์โอลิมปิก เหรียญทองแดง<!--อีก 4 คะแนนจะเหรียญเงิน--> ปี 1999 ณ ประเทศตุรกี เหรียญเงิน<!--อีก 6.5% จะเหรียญทอง--> ปี 2000 ณ ประเทศจีน</center>
+
<center>เพื่อนผู้แสนดี อดีตตัวแทนประเทศไทยไปแข่งคอมพิวเตอร์โอลิมปิก เหรียญทองแดง<!--อีก 4 คะแนนจะเหรียญเงิน--> ปี 1999 ณ ประเทศตุรกี เหรียญเงิน<!--อีก 6.5% จะเหรียญทอง--> ปี 2000 ณ ประเทศจีน</center>
  
== คำนำ ==
+
== คำนำ ==
=== ผู้อ่านเป้าหมาย ===
+
=== ผู้อ่านเป้าหมาย ===
ผู้ที่ต้องการสอบโอลิมปิกคอมพิวเตอร์
+
ผู้ที่ต้องการสอบโอลิมปิกคอมพิวเตอร์
  
=== จุดประสงค์ ===
+
=== จุดประสงค์ ===
เพื่อให้ผู้สามารถเรียนด้วยตัวเองได้ ดังนั้นจำเป็นต้องเขียนให้อ่านง่ายที่สุด อาจจะมีแบบฝึกหัด และ เฉลยสำหรับทุกบท
+
เพื่อให้ผู้สามารถเรียนด้วยตัวเองได้ ดังนั้นจำเป็นต้องเขียนให้อ่านง่ายที่สุด อาจจะมีแบบฝึกหัด และ เฉลยสำหรับทุกบท
  
== บทนำ ==
+
== บทนำ ==
ในแต่ละปี[http://www.ipst.ac.th/home.asp สสวท.]จะเป็นผู้คัดเลือกตัวแทนประเทศไทยไปสอบแข่งขัน[http://www.ipst.ac.th/olympic/ โอลิมปิกวิชาการ] ซึ่งประเทศไทยส่งตัวแทนเข้าแข่งขันรวม 6 สาขา โดย [http://olympiads.win.tue.nl/ioi/ สาขาคอมพิวเตอร์] ก็เป็นสาขาหนึ่งใน 6 สาขานั้น
+
ในแต่ละปี[http://www.ipst.ac.th/home.asp สสวท.]จะเป็นผู้คัดเลือกตัวแทนประเทศไทยไปสอบแข่งขัน[http://www.ipst.ac.th/olympic/ โอลิมปิกวิชาการ] ซึ่งประเทศไทยส่งตัวแทนเข้าแข่งขันรวม 6 สาขา โดย [http://olympiads.win.tue.nl/ioi/ สาขาคอมพิวเตอร์] ก็เป็นสาขาหนึ่งใน 6 สาขานั้น
  
สิ่งที่ต้องเตรียมสำหรับการสอบแข่งขัน[http://www.ipst.ac.th/olympic/ โอลิมปิกวิชาการ] [http://olympiads.win.tue.nl/ioi/ สาขาคอมพิวเตอร์]นั้นจำเป็นต้องเตรียมความพร้อมในหลายๆ ด้าน ทั้งที่มีในหลักสูตรมัธยมศึกษา และเนื้อหาเฉพาะทางนอกเหนือในหลักสูตร โดยคณะผู้เขียน ได้รวบรวมเนื้อหาความรู้ที่จำเป็นต้องใช้ในการสอบแข่งขันไว้ และได้แบ่งเนื้อหาออกเป็นบท โดยเรียงลำดับให้ง่ายต่อการทำความเข้าใจ
+
สิ่งที่ต้องเตรียมสำหรับการสอบแข่งขัน[http://www.ipst.ac.th/olympic/ โอลิมปิกวิชาการ] [http://olympiads.win.tue.nl/ioi/ สาขาคอมพิวเตอร์]นั้นจำเป็นต้องเตรียมความพร้อมในหลายๆ ด้าน ทั้งที่มีในหลักสูตรมัธยมศึกษา และเนื้อหาเฉพาะทางนอกเหนือในหลักสูตร โดยคณะผู้เขียน ได้รวบรวมเนื้อหาความรู้ที่จำเป็นต้องใช้ในการสอบแข่งขันไว้ และได้แบ่งเนื้อหาออกเป็นบท โดยเรียงลำดับให้ง่ายต่อการทำความเข้าใจ
  
==เซต==<!--[http://en.wikipedia.org/wiki/Set_theory Set Theory],[http://web.ku.ac.th/schoolnet/snet2/knowledge_math/set/set1.htm เซต]-->
+
==เซต==<!--[http://en.wikipedia.org/wiki/Set_theory Set Theory],[http://web.ku.ac.th/schoolnet/snet2/knowledge_math/set/set1.htm เซต]-->
:<em>ดูบทความจริงได้ที่ [[เซต (หนังสือแด่เขมรัตน์)]]</em>
+
:<em>ดูบทความจริงได้ที่ [[เซต (หนังสือแด่เขมรัตน์)]]</em>
 
<!--
 
<!--
===นิยามและสัญลักษณ์===
+
===นิยามและสัญลักษณ์===
===สมาชิกของเซต===
+
===สมาชิกของเซต===
===จำนวนสมาชิกของเซต===
+
===จำนวนสมาชิกของเซต===
====เซตว่าง====
+
====เซตว่าง====
====เซตจำกัด====
+
====เซตจำกัด====
====เซตอนันต์====
+
====เซตอนันต์====
===แผนภาพของเวนน์-ออยเลอร์===
+
===แผนภาพของเวนน์-ออยเลอร์===
===การเปรียบเทียบเซต===
+
===การเปรียบเทียบเซต===
 
====Subset-Superset====
 
====Subset-Superset====
===การดำเนินการกับเซต===
+
===การดำเนินการกับเซต===
 
====Unions====
 
====Unions====
 
====Intersections====
 
====Intersections====
แถว 40: แถว 39:
 
-->
 
-->
  
==ตรรกศาสตร์และการพิสูจน์==
+
==ตรรกศาสตร์และการพิสูจน์==
*[[ตรรกศาสตร์และการพิสูจน์:ตรรกศาสตร์|ตรรกศาสตร์]]
+
*[[ตรรกศาสตร์และการพิสูจน์:ตรรกศาสตร์|ตรรกศาสตร์]]
*[[ตรรกศาสตร์และการพิสูจน์:พีชคณิตบูลลีน|พีชคณิตบูลลีน]]
+
*[[ตรรกศาสตร์และการพิสูจน์:พีชคณิตบูลลีน|พีชคณิตบูลลีน]]
*[[ตรรกศาสตร์และการพิสูจน์:หลักรังนกพิราบ|หลักรังนกพิราบ]]
+
*[[ตรรกศาสตร์และการพิสูจน์:หลักรังนกพิราบ|หลักรังนกพิราบ]]
*[[ตรรกศาสตร์และการพิสูจน์:Paradox|Paradox]]
+
*[[ตรรกศาสตร์และการพิสูจน์:Paradox|Paradox]]
  
==ระบบเลขฐาน==
+
==ระบบเลขฐาน==
*[[ระบบเลขฐาน:ระบบตัวเลข|ระบบตัวเลข]]
+
*[[ระบบเลขฐาน:ระบบตัวเลข|ระบบตัวเลข]]
*[[ระบบเลขฐาน:เลขฐานสิบ|เลขฐานสิบ]]
+
*[[ระบบเลขฐาน:เลขฐานสิบ|เลขฐานสิบ]]
**[[ระบบเลขฐาน:เลขฐานสิบ#การแปลงเลขจากเลขฐานสิบ|การแปลงเลขจากเลขฐานสิบ]]
+
**[[ระบบเลขฐาน:เลขฐานสิบ#การแปลงเลขจากเลขฐานสิบ|การแปลงเลขจากเลขฐานสิบ]]
**[[ระบบเลขฐาน:เลขฐานสิบ#การแปลงเลขเป็นเลขฐานสิบ|การแปลงเลขเป็นเลขฐานสิบ]]
+
**[[ระบบเลขฐาน:เลขฐานสิบ#การแปลงเลขเป็นเลขฐานสิบ|การแปลงเลขเป็นเลขฐานสิบ]]
*[[ระบบเลขฐาน:เลขฐานสอง|เลขฐานสอง]]
+
*[[ระบบเลขฐาน:เลขฐานสอง|เลขฐานสอง]]
**[[ระบบเลขฐาน:เลขฐานสอง#การบวกเลขในระบบเลขฐานสอง|การบวกเลขในระบบเลขฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานสอง#การบวกเลขในระบบเลขฐานสอง|การบวกเลขในระบบเลขฐานสอง]]
**[[ระบบเลขฐาน:เลขฐานสอง#การลบเลขในระบบเลขฐานสอง|การลบเลขในระบบเลขฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานสอง#การลบเลขในระบบเลขฐานสอง|การลบเลขในระบบเลขฐานสอง]]
**[[ระบบเลขฐาน:เลขฐานสอง#การคูณเลขในระบบเลขฐานสอง|การคูณเลขในระบบเลขฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานสอง#การคูณเลขในระบบเลขฐานสอง|การคูณเลขในระบบเลขฐานสอง]]
**[[ระบบเลขฐาน:เลขฐานสอง#การหารเลขในระบบเลขฐานสอง|การหารเลขในระบบเลขฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานสอง#การหารเลขในระบบเลขฐานสอง|การหารเลขในระบบเลขฐานสอง]]
*[[ระบบเลขฐาน:เลขฐานแปด|เลขฐานแปด]]
+
*[[ระบบเลขฐาน:เลขฐานแปด|เลขฐานแปด]]
**[[ระบบเลขฐาน:เลขฐานแปด#การแปลงเลขฐานสองเป็นฐานแปด|การแปลงเลขฐานสองเป็นฐานแปด]]
+
**[[ระบบเลขฐาน:เลขฐานแปด#การแปลงเลขฐานสองเป็นฐานแปด|การแปลงเลขฐานสองเป็นฐานแปด]]
**[[ระบบเลขฐาน:เลขฐานแปด#การแปลงเลขฐานแปดเป็นฐานสอง|การแปลงเลขฐานแปดเป็นฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานแปด#การแปลงเลขฐานแปดเป็นฐานสอง|การแปลงเลขฐานแปดเป็นฐานสอง]]
*[[ระบบเลขฐาน:เลขฐานสิบหก|เลขฐานสิบหก]]
+
*[[ระบบเลขฐาน:เลขฐานสิบหก|เลขฐานสิบหก]]
**[[ระบบเลขฐาน:เลขฐานสิบหก#การแปลงเลขฐานสองเป็นฐานสิบหก|การแปลงเลขฐานสองเป็นฐานสิบหก]]
+
**[[ระบบเลขฐาน:เลขฐานสิบหก#การแปลงเลขฐานสองเป็นฐานสิบหก|การแปลงเลขฐานสองเป็นฐานสิบหก]]
**[[ระบบเลขฐาน:เลขฐานสิบหก#การแปลงเลขฐานสิบหกเป็นฐานสอง|การแปลงเลขฐานสิบหกเป็นฐานสอง]]
+
**[[ระบบเลขฐาน:เลขฐานสิบหก#การแปลงเลขฐานสิบหกเป็นฐานสอง|การแปลงเลขฐานสิบหกเป็นฐานสอง]]
  
==คณิตศาสตร์เชิงการจัด==
+
==คณิตศาสตร์เชิงการจัด==
===หลักการพื้นฐาน===
+
===หลักการพื้นฐาน===
===การเรียงสับเปลี่ยนและการจัดหมู่===
+
===การเรียงสับเปลี่ยนและการจัดหมู่===
====การเรียงสับเปลี่ยนแบบมีตัวซ้ำ====
+
====การเรียงสับเปลี่ยนแบบมีตัวซ้ำ====
====การเรียงสับเปลี่ยนแบบไม่มีตัวซ้ำ====
+
====การเรียงสับเปลี่ยนแบบไม่มีตัวซ้ำ====
====การจัดหมู่แบบไม่มีตัวซ้ำ====
+
====การจัดหมู่แบบไม่มีตัวซ้ำ====
====การจัดหมู่แบบมีตัวซ้ำ====
+
====การจัดหมู่แบบมีตัวซ้ำ====
====เทคนิคสตาร์แอนด์บาร์====
+
====เทคนิคสตาร์แอนด์บาร์====
===สัมประสิทธิ์ทวินามและเอกลักษณ์ต่างๆ ===
+
===สัมประสิทธิ์ทวินามและเอกลักษณ์ต่างๆ ===
===แบบฝึกหัด===
+
===แบบฝึกหัด===
  
==ความน่าจะเป็น==
+
==ความน่าจะเป็น==
===แซมเปิลสเปซ===
+
===แซมเปิลสเปซ===
แซมเปิลสเปซ (Sample Space)
+
แซมเปิลสเปซ (Sample Space)
<!-- ===เอกภพสัมพัทธ์=== -->
+
<!-- ===เอกภพสัมพัทธ์=== -->
===แซมเปิลพ้อยท์===
+
===แซมเปิลพ้อยท์===
แซมเปิลพ้อยท์ (Sample Point)
+
แซมเปิลพ้อยท์ (Sample Point)
===เหตุการณ์===
+
===เหตุการณ์===
เหตุการณ์ (Event)
+
เหตุการณ์ (Event)
===ค่าความน่าจะเป็น===
+
===ค่าความน่าจะเป็น===
ความน่าจะเป็น = จำนวนสมาชิกของเหตุการณ์ หารด้วย จำนวนสมาชิกของแซมเปิลสเปส
+
ความน่าจะเป็น = จำนวนสมาชิกของเหตุการณ์ หารด้วย จำนวนสมาชิกของแซมเปิลสเปส
  
===คุณสมบัติของความน่าจะเป็น===
+
===คุณสมบัติของความน่าจะเป็น===
  
==ฟังก์ชัน==
+
==ฟังก์ชัน==
===ความสัมพันธ์===
+
===ความสัมพันธ์===
<!--[http://th.wikipedia.org/wiki/ฟังก์ชัน_(คณิตศาสตร์) วิคิ]-->
+
<!--[http://th.wikipedia.org/wiki/ฟังก์ชัน_(คณิตศาสตร์) วิคิ]-->
===นิยาม===
+
===นิยาม===
===โดเมน-เรนจ์===
+
===โดเมน-เรนจ์===
  
==ลำดับ อนุกรม==
+
==ลำดับ อนุกรม==
===ลำดับ===
+
===ลำดับ===
====ลำดับเลขคณิต====
+
====ลำดับเลขคณิต====
====ลำดับเลขาคณิต====
+
====ลำดับเลขาคณิต====
  
====ลำดับฮาโมนิก====
+
====ลำดับฮาโมนิก====
===อนุกรม===
+
===อนุกรม===
====อนุกรมเลขคณิต====
+
====อนุกรมเลขคณิต====
====อนุกรมเลขาคณิต====
+
====อนุกรมเลขาคณิต====
====อนุกรมฮาโมนิก====
+
====อนุกรมฮาโมนิก====
  
==ทฤษฏีกลุ่ม==
+
==ทฤษฏีกลุ่ม==
 
===Group===
 
===Group===
 
===Ring===
 
===Ring===
 
===Field===
 
===Field===
  
==เมตริกซ์==
+
==เมตริกซ์==
===นิยาม===
+
===นิยาม===
===การบวกลบเมตริกซ์===
+
===การบวกลบเมตริกซ์===
===การคูณเมตริกซ์===
+
===การคูณเมตริกซ์===
  
==ทฤษฏีจำนวน (Number Theory)==
+
==ทฤษฏีจำนวน (Number Theory)==
 
(Kanat: Contents being edited)
 
(Kanat: Contents being edited)
  
===การหารลงตัว (Divisibility) ===
+
===การหารลงตัว (Divisibility) ===
  
====นิยาม: การหารลงตัว====
+
====นิยาม: การหารลงตัว====
  
====ตัวหารร่วมมาก (Greatest Common Divisor)====
+
====ตัวหารร่วมมาก (Greatest Common Divisor)====
  
  
 
== Headline text ==
 
== Headline text ==
====อัลกอริทึมแบบ''Italic text''--[[ผู้ใช้:124.120.133.155|124.120.133.155]] 22:39, 30 มีนาคม 2007 (ICT)
+
====อัลกอริทึมแบบ''Italic text''--[[ผู้ใช้:124.120.133.155|124.120.133.155]] 22:39, 30 มีนาคม 2007 (ICT)
  
====สมการไดโอแฟนไทน์เชิงเส้น====
+
====สมการไดโอแฟนไทน์เชิงเส้น====
  
===จำนวนเฉพาะ===
+
===จำนวนเฉพาะ===
  
==== ทฤษฎีบทมูลฐานของเลขคณิต ====
+
==== ทฤษฎีบทมูลฐานของเลขคณิต ====
==== จำนวนเฉพาะมีอยู่มากมาย ====
+
==== จำนวนเฉพาะมีอยู่มากมาย ====
==== การทดสอบจำนวนเฉพาะ ====
+
==== การทดสอบจำนวนเฉพาะ ====
==== ความหนาแน่นของจำนวนเฉพาะ====
+
==== ความหนาแน่นของจำนวนเฉพาะ====
  
===คอนกรูเอนซ์ (Congruence) ===
+
===คอนกรูเอนซ์ (Congruence) ===
  
==== แนะนำคอนกรูเอนซ์ ====
+
==== แนะนำคอนกรูเอนซ์ ====
==== คอนกรูเอนซ์พิสดาร ====
+
==== คอนกรูเอนซ์พิสดาร ====
==== ฟังก์ชันฟีออยเลอร์และทฤษฎีบทของออยเลอร์ ====
+
==== ฟังก์ชันฟีออยเลอร์และทฤษฎีบทของออยเลอร์ ====
  
=== เรื่องน่ารู้อื่นๆ ===
+
=== เรื่องน่ารู้อื่นๆ ===
==== ตัวเลขพิเศษ ====
+
==== ตัวเลขพิเศษ ====
==== การเข้ารหัสแบบ RSA ====
+
==== การเข้ารหัสแบบ RSA ====
==== อัลกอริทึมเกี่ยวกับทฤษฎีจำนวน ====
+
==== อัลกอริทึมเกี่ยวกับทฤษฎีจำนวน ====
  
=== โจทย์ต่างๆ ===
+
=== โจทย์ต่างๆ ===
  
== พื้นฐานการเขียนโปรแกรม ==
+
== พื้นฐานการเขียนโปรแกรม ==
:<em>ดูบทความจริงได้ที่ [[พื้นฐานการเขียนโปรแกรม(หนังสือแด่เขมรัตน์)|พื้นฐานการเขียนโปรแกรม]]</em>
+
:<em>ดูบทความจริงได้ที่ [[พื้นฐานการเขียนโปรแกรม(หนังสือแด่เขมรัตน์)|พื้นฐานการเขียนโปรแกรม]]</em>
* [[พื้นฐานการเขียนโปรแกรม:การเตรียมเครื่องมือสำหรับเขียนโปรแกรม|การเตรียมเครื่องมือสำหรับเขียนโปรแกรม]]
+
* [[พื้นฐานการเขียนโปรแกรม:การเตรียมเครื่องมือสำหรับเขียนโปรแกรม|การเตรียมเครื่องมือสำหรับเขียนโปรแกรม]]
* [[พื้นฐานการเขียนโปรแกรม:Hello World|เริ่มแรกกับ Hello world]]
+
* [[พื้นฐานการเขียนโปรแกรม:Hello World|เริ่มแรกกับ Hello world]]
* [[พื้นฐานการเขียนโปรแกรม:โครงสร้างภาษา C|โครงสร้างภาษา C]]
+
* [[พื้นฐานการเขียนโปรแกรม:โครงสร้างภาษา C|โครงสร้างภาษา C]]
* [[พื้นฐานการเขียนโปรแกรม:ตัวแปร|ตัวแปร]]
+
* [[พื้นฐานการเขียนโปรแกรม:ตัวแปร|ตัวแปร]]
* [[พื้นฐานการเขียนโปรแกรม:ค่าคงที่|ค่าคงที่]]
+
* [[พื้นฐานการเขียนโปรแกรม:ค่าคงที่|ค่าคงที่]]
* [[พื้นฐานการเขียนโปรแกรม:การแสดงผลออกหน่วยแสดงผลพื้นฐาน|การแสดงผลออกหน่วยแสดงผลพื้นฐาน]]
+
* [[พื้นฐานการเขียนโปรแกรม:การแสดงผลออกหน่วยแสดงผลพื้นฐาน|การแสดงผลออกหน่วยแสดงผลพื้นฐาน]]
* [[พื้นฐานการเขียนโปรแกรม:การรับข้อมูลจากหน่วยรับข้อมูลพื้นฐาน|การรับข้อมูลจากหน่วยรับข้อมูลพื้นฐาน]]
+
* [[พื้นฐานการเขียนโปรแกรม:การรับข้อมูลจากหน่วยรับข้อมูลพื้นฐาน|การรับข้อมูลจากหน่วยรับข้อมูลพื้นฐาน]]
* [[พื้นฐานการเขียนโปรแกรม:พอยน์เตอร์|พอยน์เตอร์]]
+
* [[พื้นฐานการเขียนโปรแกรม:พอยน์เตอร์|พอยน์เตอร์]]
* [[พื้นฐานการเขียนโปรแกรม:ประโยคเงื่อนไข|ประโยคเงื่อนไข]]
+
* [[พื้นฐานการเขียนโปรแกรม:ประโยคเงื่อนไข|ประโยคเงื่อนไข]]
* [[พื้นฐานการเขียนโปรแกรม:ประโยคกระทำซ้ำ|ประโยคกระทำซ้ำ]]
+
* [[พื้นฐานการเขียนโปรแกรม:ประโยคกระทำซ้ำ|ประโยคกระทำซ้ำ]]
* [[พื้นฐานการเขียนโปรแกรม:ฟังก์ชันและโพรซีเยอร์|ฟังก์ชันและโพรซีเยอร์]]
+
* [[พื้นฐานการเขียนโปรแกรม:ฟังก์ชันและโพรซีเยอร์|ฟังก์ชันและโพรซีเยอร์]]
* [[พื้นฐานการเขียนโปรแกรม:คอมเม้นต์(comment)|คอมเม้นต์(comment)]]
+
* [[พื้นฐานการเขียนโปรแกรม:คอมเม้นต์(comment)|คอมเม้นต์(comment)]]
* [[พื้นฐานการเขียนโปรแกรม:ฟังก์ชั่นเวียนกำเนิด|ฟังก์ชั่นเวียนกำเนิด]]
+
* [[พื้นฐานการเขียนโปรแกรม:ฟังก์ชั่นเวียนกำเนิด|ฟังก์ชั่นเวียนกำเนิด]]
* [[พื้นฐานการเขียนโปรแกรม:โครงสร้าง (struct)|โครงสร้าง (struct)]]
+
* [[พื้นฐานการเขียนโปรแกรม:โครงสร้าง (struct)|โครงสร้าง (struct)]]
* [[พื้นฐานการเขียนโปรแกรม:การจัดการกับแฟ้มข้อมูล|การจัดการกับแฟ้มข้อมูล]]
+
* [[พื้นฐานการเขียนโปรแกรม:การจัดการกับแฟ้มข้อมูล|การจัดการกับแฟ้มข้อมูล]]
* [[พื้นฐานการเขียนโปรแกรม:การเขียนโปรแกรมแบบปลอดบัก|การเขียนโปรแกรมแบบปลอดบัก]]
+
* [[พื้นฐานการเขียนโปรแกรม:การเขียนโปรแกรมแบบปลอดบัก|การเขียนโปรแกรมแบบปลอดบัก]]
 
<!--
 
<!--
===ข้อตกลง===
+
===ข้อตกลง===
====การเลือกทำ====
+
====การเลือกทำ====
  
====การทำซ้ำ====
+
====การทำซ้ำ====
สิ่งที่อยู่ระหว่าง<nowiki>[[[</nowiki>กับ<nowiki>]]]</nowiki> หมายถึงจะมีกี่ครั้ง หรือไม่มีก็ได้ เช่น
+
สิ่งที่อยู่ระหว่าง<nowiki>[[[</nowiki>กับ<nowiki>]]]</nowiki> หมายถึงจะมีกี่ครั้ง หรือไม่มีก็ได้ เช่น
  
 
  <nowiki>
 
  <nowiki>
ค่าคงที่ [[[  ตัวแปร]]]</nowiki>
+
ค่าคงที่ [[[  ตัวแปร]]]</nowiki>
  
หมายความว่าจะมี "ค่าคงที่" อย่างเดียวก็ได้ หรือว่ามี "ค่าคงที่" แล้วตามด้วย ตัวแปร" กี่ตัวก็ได้
+
หมายความว่าจะมี "ค่าคงที่" อย่างเดียวก็ได้ หรือว่ามี "ค่าคงที่" แล้วตามด้วย ตัวแปร" กี่ตัวก็ได้
 
-->
 
-->
  
==ทฤษฎีการคำนวณ==
+
==ทฤษฎีการคำนวณ==
===ออโตมาตาจำกัดและนิพจน์เรกูลาร์===
+
===ออโตมาตาจำกัดและนิพจน์เรกูลาร์===
===ออโมมาตาแบบพุชดาวน์และไวยากรณ์ไม่อิงบริบท===
+
===ออโมมาตาแบบพุชดาวน์และไวยากรณ์ไม่อิงบริบท===
===เครื่องจักรทัวริง===
+
===เครื่องจักรทัวริง===
===ความบริบูรณ์ NP (NP-completeness)===
+
===ความบริบูรณ์ NP (NP-completeness)===
===ความยาก NP (NP-hardness)===
+
===ความยาก NP (NP-hardness)===
  
==โครงสร้างข้อมูล==
+
==โครงสร้างข้อมูล==
===อาร์เรย์และลิงค์ลิสต์===
+
===อาร์เรย์และลิงค์ลิสต์===
===คิวและสแตก===
+
===คิวและสแตก===
===ดิสจอยนท์เซต===
+
===ดิสจอยนท์เซต===
===ฮีปทวิภาค===
+
===ฮีปทวิภาค===
===ต้นไม้ค้นหาแบบทวิภาค===
+
===ต้นไม้ค้นหาแบบทวิภาค===
===เซตแบบพลวัต===
+
===เซตแบบพลวัต===
===ดิกชันนารีแบบพลวัต===
+
===ดิกชันนารีแบบพลวัต===
  
==ทฤษฏีกราฟ==
+
==ทฤษฏีกราฟ==
===นิยาม===
+
===นิยาม===
====กราฟแบบมีทิศทางและไม่มีทิศทาง====
+
====กราฟแบบมีทิศทางและไม่มีทิศทาง====
====ดีกรี====
+
====ดีกรี====
  
===การเก็บกราฟในหน่วยความจำ===
+
===การเก็บกราฟในหน่วยความจำ===
===เส้นทางและวงจร (Path and Cycle) ===
+
===เส้นทางและวงจร (Path and Cycle) ===
====วงจรออยเลอร์====
+
====วงจรออยเลอร์====
====วงจรฮามิลโทเนียน====
+
====วงจรฮามิลโทเนียน====
===ต้นไม้===
+
===ต้นไม้===
====ต้นไม้แบบทอดข้าม====
+
====ต้นไม้แบบทอดข้าม====
  
==การคำนวณเชิงเรขาคณิต==
+
==การคำนวณเชิงเรขาคณิต==
===จุด===
+
===จุด===
===ส่วนของเส้นตรง===
+
===ส่วนของเส้นตรง===
====การตัดกันของส่วนของเส้นตรง====
+
====การตัดกันของส่วนของเส้นตรง====
===รูปหลายเหลี่ยม===
+
===รูปหลายเหลี่ยม===
====ความป่อง (convexity)====
+
====ความป่อง (convexity)====
====ปัญหาข้างใน/ข้างนอก====
+
====ปัญหาข้างใน/ข้างนอก====
  
  
== เทคนิคการออกแบบอัลกอริทึม ==
+
== เทคนิคการออกแบบอัลกอริทึม ==
=== อัลกอริทึมแบบตะกละ ===
+
=== อัลกอริทึมแบบตะกละ ===
=== การแบ่งแยกและเอาชนะ ===
+
=== การแบ่งแยกและเอาชนะ ===
=== การย้อนรอย (backtracking) ===
+
=== การย้อนรอย (backtracking) ===
=== แบรนช์แอนด์บาวนด์ ===
+
=== แบรนช์แอนด์บาวนด์ ===
ใครหาคำแปลดีกว่านี้ได้ ช่วยด้วย
+
ใครหาคำแปลดีกว่านี้ได้ ช่วยด้วย
"แขนงและขอบ(เขต)" ?
+
"แขนงและขอบ(เขต)" ?
===ไดนามิคโปรแกรมมิ่ง===
+
===ไดนามิคโปรแกรมมิ่ง===
===การเรียงลำดับ===
+
===การเรียงลำดับ===
====บับเบิลซอร์ท====
+
====บับเบิลซอร์ท====
ฟอง
+
ฟอง
====ซีเลกชันซอร์ท====
+
====ซีเลกชันซอร์ท====
เลือก
+
เลือก
====อินเซอร์ชันซอร์ท====
+
====อินเซอร์ชันซอร์ท====
แทรก
+
แทรก
====เชลล์ซอร์ท====
+
====เชลล์ซอร์ท====
เปลือกหอย
+
เปลือกหอย
====ทรีซอร์ท====
+
====ทรีซอร์ท====
ต้นไม้
+
ต้นไม้
====ฮีปซอร์ท====
+
====ฮีปซอร์ท====
====เมิร์จซอร์ท====
+
====เมิร์จซอร์ท====
ยุบ
+
ยุบ
====ควิกซอร์ท====
+
====ควิกซอร์ท====
ควิก
+
ควิก
====ข้อจำกัดของการเรียงลำดับข้อมูลด้วยการเปรียบเทียบข้อมูล====
+
====ข้อจำกัดของการเรียงลำดับข้อมูลด้วยการเปรียบเทียบข้อมูล====
====เรดิกซ์ซอร์ท====
+
====เรดิกซ์ซอร์ท====
====บักเคทซอร์ท====
+
====บักเคทซอร์ท====
ถัง
+
ถัง
  
==อัลกอริทึมสำหรับจัดการข้อความ==
+
==อัลกอริทึมสำหรับจัดการข้อความ==
==การค้นหาข้อมูล (Searching)==
+
==การค้นหาข้อมูล (Searching)==
===มินิแมกซ์===
+
===มินิแมกซ์===
==อัลกอริทึมเพื่อการประมาณ (จะเขียนดีไหม)==
+
==อัลกอริทึมเพื่อการประมาณ (จะเขียนดีไหม)==
==ภูมิปัญญาชาวบ้าน (heuristic) (จะเขียนดีไหม)==
+
==ภูมิปัญญาชาวบ้าน (heuristic) (จะเขียนดีไหม)==
  
  
== อัลกอริทึมเกี่ยวกับกราฟ ==
+
== อัลกอริทึมเกี่ยวกับกราฟ ==
=== การค้นหาแบบลึกและการค้นหาแบบกว้าง===
+
=== การค้นหาแบบลึกและการค้นหาแบบกว้าง===
=== การหาเส้นทางที่สั้นที่สุด ===
+
=== การหาเส้นทางที่สั้นที่สุด ===
=== การหาการไหลที่สูงที่สุด (Max Flow) ===
+
=== การหาการไหลที่สูงที่สุด (Max Flow) ===
=== ต้นไม้ทอดข้ามน้อยสุด ===
+
=== ต้นไม้ทอดข้ามน้อยสุด ===
  
== ตัวอย่างข้อสอบ ==
+
== ตัวอย่างข้อสอบ ==
===รอบแรก===
+
===รอบแรก===
===รอบสอง===
+
===รอบสอง===
===ค่าย===
+
===ค่าย===
===ตัวแทน===
+
===ตัวแทน===
*[http://www.ioi99.org.tr/tasks/index.html ปี1999]
+
*[http://www.ioi99.org.tr/tasks/index.html ปี1999]
*[http://olympiads.win.tue.nl/ioi/ioi2000/contest/index.html ปี2000]
+
*[http://olympiads.win.tue.nl/ioi/ioi2000/contest/index.html ปี2000]
  
 
==References==
 
==References==
*[http://www.win.tue.nl/~wstomv/publications/ioi-syllabus-proposal.pdf A Proposal for an IOI Syllabus] by Tom Verhoeff, Gyula Horváth, Krzysztof Diks, and Gordon Cormack.
+
*[http://www.win.tue.nl/~wstomv/publications/ioi-syllabus-proposal.pdf A Proposal for an IOI Syllabus] by Tom Verhoeff, Gyula Horváth, Krzysztof Diks, and Gordon Cormack.
*[http://www.cpe.ku.ac.th/~jtf/204212-46/ 204212 โครงสร้างข้อมูลและอัลกอริทึม I]
+
*[http://www.cpe.ku.ac.th/~jtf/204212-46/ 204212 โครงสร้างข้อมูลและอัลกอริทึม I]
*[http://theory.cpe.ku.ac.th/index.php/IOI_training_2006 การเตรียมทีมคอมพิวเตอร์โอลิมปิค 2006]
+
*[http://theory.cpe.ku.ac.th/index.php/IOI_training_2006 การเตรียมทีมคอมพิวเตอร์โอลิมปิค 2006]
*[http://www.ipst.ac.th/smath/ คณิตศาสตร์มัธยม สสวท]
+
*[http://www.ipst.ac.th/smath/ คณิตศาสตร์มัธยม สสวท]
 
*[http://web.ku.ac.th/schoolnet/ Digital Library for SchoolNet Thailand]
 
*[http://web.ku.ac.th/schoolnet/ Digital Library for SchoolNet Thailand]
*[http://th.wikipedia.org/wiki/ วิกิพีเดีย]
+
*[http://th.wikipedia.org/wiki/ วิกิพีเดีย]
 
*[http://www.tutormaths.com/ Tutormaths.com]
 
*[http://www.tutormaths.com/ Tutormaths.com]
*[http://elearning.utcc.ac.th/courseonline/wallop/ ผ.ศ. วัลลภ เฉลิมสุวิวัฒนาการ]
+
*[http://elearning.utcc.ac.th/courseonline/wallop/ .. วัลลภ เฉลิมสุวิวัฒนาการ]
 
*[http://se-ed.net/longdo/ Math E-Book]
 
*[http://se-ed.net/longdo/ Math E-Book]
 
*[http://en.wikipedia.org/wiki/Main_Page Wikipedia, the free encyclopedia]
 
*[http://en.wikipedia.org/wiki/Main_Page Wikipedia, the free encyclopedia]
 
*[http://www.cs.cf.ac.uk/Dave/C/ Programming in C]
 
*[http://www.cs.cf.ac.uk/Dave/C/ Programming in C]

รุ่นแก้ไขเมื่อ 10:30, 12 ตุลาคม 2550

เนื้อหา

หน้าปก

คอมพิวเตอร์โอลิมปิก

หน้าใน

แด่
เขมรัตน์ นิ่มปุญญกำพงษ์
เพื่อนผู้แสนดี อดีตตัวแทนประเทศไทยไปแข่งคอมพิวเตอร์โอลิมปิก เหรียญทองแดง ปี 1999 ณ ประเทศตุรกี เหรียญเงิน ปี 2000 ณ ประเทศจีน

คำนำ

ผู้อ่านเป้าหมาย

ผู้ที่ต้องการสอบโอลิมปิกคอมพิวเตอร์

จุดประสงค์

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

บทนำ

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

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

เซต

ดูบทความจริงได้ที่ เซต (หนังสือแด่เขมรัตน์)

ตรรกศาสตร์และการพิสูจน์

ระบบเลขฐาน

คณิตศาสตร์เชิงการจัด

หลักการพื้นฐาน

การเรียงสับเปลี่ยนและการจัดหมู่

การเรียงสับเปลี่ยนแบบมีตัวซ้ำ

การเรียงสับเปลี่ยนแบบไม่มีตัวซ้ำ

การจัดหมู่แบบไม่มีตัวซ้ำ

การจัดหมู่แบบมีตัวซ้ำ

เทคนิคสตาร์แอนด์บาร์

สัมประสิทธิ์ทวินามและเอกลักษณ์ต่างๆ

แบบฝึกหัด

ความน่าจะเป็น

แซมเปิลสเปซ

แซมเปิลสเปซ (Sample Space)

แซมเปิลพ้อยท์

แซมเปิลพ้อยท์ (Sample Point)

เหตุการณ์

เหตุการณ์ (Event)

ค่าความน่าจะเป็น

ความน่าจะเป็น = จำนวนสมาชิกของเหตุการณ์ หารด้วย จำนวนสมาชิกของแซมเปิลสเปส

คุณสมบัติของความน่าจะเป็น

ฟังก์ชัน

ความสัมพันธ์

นิยาม

โดเมน-เรนจ์

ลำดับ อนุกรม

ลำดับ

ลำดับเลขคณิต

ลำดับเลขาคณิต

ลำดับฮาโมนิก

อนุกรม

อนุกรมเลขคณิต

อนุกรมเลขาคณิต

อนุกรมฮาโมนิก

ทฤษฏีกลุ่ม

Group

Ring

Field

เมตริกซ์

นิยาม

การบวกลบเมตริกซ์

การคูณเมตริกซ์

ทฤษฏีจำนวน (Number Theory)

(Kanat: Contents being edited)

การหารลงตัว (Divisibility)

นิยาม: การหารลงตัว

ตัวหารร่วมมาก (Greatest Common Divisor)

Headline text

====อัลกอริทึมแบบItalic text--124.120.133.155 22:39, 30 มีนาคม 2007 (ICT)

สมการไดโอแฟนไทน์เชิงเส้น

จำนวนเฉพาะ

ทฤษฎีบทมูลฐานของเลขคณิต

จำนวนเฉพาะมีอยู่มากมาย

การทดสอบจำนวนเฉพาะ

ความหนาแน่นของจำนวนเฉพาะ

คอนกรูเอนซ์ (Congruence)

แนะนำคอนกรูเอนซ์

คอนกรูเอนซ์พิสดาร

ฟังก์ชันฟีออยเลอร์และทฤษฎีบทของออยเลอร์

เรื่องน่ารู้อื่นๆ

ตัวเลขพิเศษ

การเข้ารหัสแบบ RSA

อัลกอริทึมเกี่ยวกับทฤษฎีจำนวน

โจทย์ต่างๆ

พื้นฐานการเขียนโปรแกรม

ดูบทความจริงได้ที่ พื้นฐานการเขียนโปรแกรม

ทฤษฎีการคำนวณ

ออโตมาตาจำกัดและนิพจน์เรกูลาร์

ออโมมาตาแบบพุชดาวน์และไวยากรณ์ไม่อิงบริบท

เครื่องจักรทัวริง

ความบริบูรณ์ NP (NP-completeness)

ความยาก NP (NP-hardness)

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

อาร์เรย์และลิงค์ลิสต์

คิวและสแตก

ดิสจอยนท์เซต

ฮีปทวิภาค

ต้นไม้ค้นหาแบบทวิภาค

เซตแบบพลวัต

ดิกชันนารีแบบพลวัต

ทฤษฏีกราฟ

นิยาม

กราฟแบบมีทิศทางและไม่มีทิศทาง

ดีกรี

การเก็บกราฟในหน่วยความจำ

เส้นทางและวงจร (Path and Cycle)

วงจรออยเลอร์

วงจรฮามิลโทเนียน

ต้นไม้

ต้นไม้แบบทอดข้าม

การคำนวณเชิงเรขาคณิต

จุด

ส่วนของเส้นตรง

การตัดกันของส่วนของเส้นตรง

รูปหลายเหลี่ยม

ความป่อง (convexity)

ปัญหาข้างใน/ข้างนอก

เทคนิคการออกแบบอัลกอริทึม

อัลกอริทึมแบบตะกละ

การแบ่งแยกและเอาชนะ

การย้อนรอย (backtracking)

แบรนช์แอนด์บาวนด์

ใครหาคำแปลดีกว่านี้ได้ ช่วยด้วย "แขนงและขอบ(เขต)" ?

ไดนามิคโปรแกรมมิ่ง

การเรียงลำดับ

บับเบิลซอร์ท

ฟอง

ซีเลกชันซอร์ท

เลือก

อินเซอร์ชันซอร์ท

แทรก

เชลล์ซอร์ท

เปลือกหอย

ทรีซอร์ท

ต้นไม้

ฮีปซอร์ท

เมิร์จซอร์ท

ยุบ

ควิกซอร์ท

ควิก

ข้อจำกัดของการเรียงลำดับข้อมูลด้วยการเปรียบเทียบข้อมูล

เรดิกซ์ซอร์ท

บักเคทซอร์ท

ถัง

อัลกอริทึมสำหรับจัดการข้อความ

การค้นหาข้อมูล (Searching)

มินิแมกซ์

อัลกอริทึมเพื่อการประมาณ (จะเขียนดีไหม)

ภูมิปัญญาชาวบ้าน (heuristic) (จะเขียนดีไหม)

อัลกอริทึมเกี่ยวกับกราฟ

การค้นหาแบบลึกและการค้นหาแบบกว้าง

การหาเส้นทางที่สั้นที่สุด

การหาการไหลที่สูงที่สุด (Max Flow)

ต้นไม้ทอดข้ามน้อยสุด

ตัวอย่างข้อสอบ

รอบแรก

รอบสอง

ค่าย

ตัวแทน

References