Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม
การเขียนโปรแกรม
  1. กฎ Simpson 1/3 สำหรับอินทิกรัลจำกัด

    บทนำ เช่นเดียวกับกฎสี่เหลี่ยมคางหมู (Trapezoidal Rule) กฎ Simpson 1/3 ก็ใช้หาค่าอินทิกรัลจากช่วง a ถึง b ความแตกต่างหลักคือ ในกฎสี่เหลี่ยมคางหมู พื้นที่ทั้งหมดถูกแบ่งเป็นสี่เหลี่ยมคางหมู แต่ในกฎ Simpson 1/3 แต่ละสี่เหลี่ยมคางหมูก็ถูกแบ่งอีกสองส่วน สูตรสำหรับกฎนี้มีดังนี้: โดยที่ h คือความกว้างของช่

  2. การถดถอยเชิงเส้น (Linear Regression)

    บทนำ จากชุดจุดข้อมูลที่กำหนด การถดถอยเชิงเส้นจะหาสมการของเส้นตรง จุดที่กำหนดจะอยู่บนเส้นตรงนี้ โดยใช้สูตรนี้ เราสามารถทำนายค่าสำหรับจุดเฉพาะที่ไม่ได้อยู่ในชุดข้อมูลปัจจุบันได้ สูตรสำหรับแก้ปัญหาการถดถอยเชิงเส้นด้วยจุดข้อมูลมีดังนี้: โดยที่ m และ c คือความชันและจุดตัดแกน y ตามลำดับ ด้วยนิพจน์เหล่านี

  3. วิธี Runge-Kutta อันดับ 4 สำหรับสมการเชิงอนุพันธ์

    บทนำ วิธี Runge-Kutta ใช้สำหรับแก้สมการเชิงอนุพันธ์ธรรมดา (Ordinary Differential Equations - ODE) ใช้ฟังก์ชัน dy/dx สำหรับ x และ y และต้องการค่าเริ่มต้นของ y คือ y(0) วิธีนี้หาค่าประมาณของ y สำหรับ x ที่กำหนด สูตรที่ต้องปฏิบัติตามมีดังนี้: โดยที่ h คือความสูงของช่วง หมายเหตุ: จากสูตรเหล่านี้ สามารถ

  4. การ nội suy Lagrange (Lagrange Interpolation)

    บทนำ สำหรับการสร้างจุดข้อมูลใหม่ภายในช่วงของชุดจุดข้อมูลที่กำหนด ใช้เทคนิคการ nội suy (Interpolation) การ nội suyแบบ Lagrange เป็นหนึ่งในวิธีเหล่านี้ เมื่อจุดข้อมูลที่กำหนดกระจายไม่สม่ำเสมอ สามารถใช้วิธีนี้เพื่อหาคำตอบ สูตรสำหรับ Lagrange Interpolation มีดังนี้: อินพุตและเอาต์พุต Input: รายการค่า

  5. เลขลัคกี้ (Lucky Numbers)

    บทนำ เลขลัคกี้ (Lucky Numbers) คือจำนวนเต็มพิเศษบางจำนวน จากชุดตัวเลขพื้นฐาน จะมีการกำจัดตัวเลขพิเศษบางตัวตามตำแหน่งของมัน ไม่ใช่ตามค่า ตัวเลขที่ไม่ถูกกำจัด คือเลขลัคกี้ การกำจัดตัวเลขมีกฎดังนี้: ก่อนอื่นกำจัดทุกตัวที่ 2 จากนั้นกำจัดทุกตัวที่ 3 และต่อไปเรื่อยๆ ตัวอย่าง 1 2 3 4 5 6 7 8 9 10 11 12 1

  6. การแปลงฐานสิบเป็นฐานสอง (Decimal to Binary Conversion)

    บทนำ เลขฐานสิบสามารถแปลงเป็นเลขฐานสองได้ โดยการหารตัวเลขด้วย 2 จนกว่าจะเหลือ 0 หรือ 1 และในแต่ละขั้นตอน ให้เก็บเศษไว้แยกต่างหาก เพื่อสร้างเลขฐานสองในลำดับย้อนกลับ ในอัลกอริทึมนี้ เราจะใช้วิธีการแบบเรียกซ้ำ (Recursive) ซึ่งช่วยให้แก้ปัญหาได้โดยไม่ต้องใช้โครงสร้างข้อมูล Stack โดยตรง เนื่องจากการเรียกซ

  7. หาตัวคูณร่วมน้อย (LCM) ของสองจำนวน

    บทนำ ในคณิตศาสตร์ ตัวคูณร่วมน้อย (Least Common Multiple - LCM) คือจำนวนเต็มที่น้อยที่สุดที่หารด้วยทั้งสองจำนวนลงตัว LCM สามารถคำนวณได้หลายวิธี เช่น การแยกตัวประกอบ แต่ในอัลกอริทึมนี้ เราจะคูณจำนวนที่มากกว่ากับ 1, 2, 3... n จนกว่าจะพบจำนวนที่หารด้วยจำนวนที่สองลงตัว อินพุตและเอาต์พุต Input: สองจำนวน:

  8. หาตัวหารร่วมมาก (GCD) ของสองจำนวน

    บทนำ ในคณิตศาสตร์ ตัวหารร่วมมาก (Greatest Common Divisor - GCD) คือจำนวนเต็มที่มากที่สุดที่หารทั้งสองจำนวนลงตัว เงื่อนไขคือทั้งสองจำนวนต้องไม่เป็นศูนย์ เราจะใช้ยุคลิดอัลกอริทึม (Euclidean Algorithm) ในการหา GCD อินพุตและเอาต์พุต Input: สองจำนวน 51 และ 34 Output: GCD คือ: 17 อัลกอริทึม b, then

  9. ปัญหาการตัดแท่ง (Rod Cutting Problem)

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

  10. ลำดับร่วมสั้นที่สุด (Shortest Common Super Sequence)

    บทนำ ลำดับร่วมสั้นที่สุด (Shortest Common Super Sequence - SCS) คือลำดับที่มีองค์ประกอบของทั้งสองลำดับที่กำหนดให้ครบถ้วน กล่าวอีกนัยหนึ่ง สตริงทั้งสองที่กำหนดให้เป็น subsequence ของ SCS เมื่อสตริงสองตัวไม่มีตัวอักษรร่วมกัน สามารถนำมาต่อกันได้เลยเพื่อให้ได้ Super-sequence แต่เมื่อมีตัวอักษรร่วมกัน จะ

  11. Total Non-Decreasing Numbers with n Digits

    Non-Decreasing Number = ตัวเลขที่แต่ละหลัก (ยกเว้นหลักแรก) **ไม่เล็กกว่า** หลักก่อนหน้า (เช่น 111, 112, 123, 789, 569) ต้องการนับจำนวน Non-Decreasing Numbers ที่มี **n หลัก** (Leading zeros allowed: 001, 012 ถือว่าเป็น 3-digit non-decreasing) ตัวอย่าง Input และ Output Input: n = 3 Output: Total non

  12. Vertex Cover Problem บน Binary Tree

    Vertex Cover ของกราฟ = Subset ของโหนด ที่ทุก Edge (u,v) มี **อย่างน้อยหนึ่งโหนด** อยู่ใน Subset บน Binary Tree สามารถแก้ด้วย DP on Tree ได้อย่างมีประสิทธิภาพ ตัวอย่าง Input และ Output Binary Tree: 20 / \ 8 22 / \ \ 4 12 25 / \ 10 14 Output: Minim

  13. Ugly Numbers (เลข醜 - ตัวเลขที่เฉพาะตัวประกอบเป็น 2,3,5)

    Ugly Numbers คือจำนวนเต็มบวกที่ **เฉพาะตัวประกอบ (Prime Factors) มีแค่ 2, 3, 5 เท่านั้น** ลำดับ Ugly Numbers: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, ... หมายเหตุ: 1 ถือว่าเป็น Ugly Number (ไม่มีเฉพาะตัวประกอบ) ตัวอย่าง Input และ Output Input: n = 10 Output: 10th Ugly number

  14. Weighted Job Scheduling (จัดตารางงานน้ำหนักเพื่อกำไรสูงสุด)

    กำหนดรายการงาน แต่ละงานมี Start Time, Finish Time, Profit ต้องการเลือก Subset ของงานที่ ไม่ทับซ้อนกัน และให้ **กำไรรวมสูงสุด** ตัวอย่าง Input และ Output Jobs (Start, Finish, Profit): 1: (3, 5, 25) 2: (1, 2, 50) 3: (6, 15, 75) 4: (2, 100, 100) Output: The maximum profit: 150 Optimal: Job 2 + Job 4

  15. Word Wrap Problem (จัดรูปแบบข้อความให้สมดุล)

    กำหนดลำดับคำ (words) และความกว้างสูงสุดของบรรทัด (maxWidth) ต้องการจัดบรรทัด (Word Wrap) ให้ **สมดุลที่สุด** คือ minimize sum of squares ของ extra spaces ในแต่ละบรรทัด (ยกเว้นบรรทัดสุดท้าย) ตัวอย่าง Input และ Output Word lengths: {3, 2, 2, 5} Max width: 6 Output: Line 1: Word 1 to 1 (คำที่ 1 อย่าง

  16. Convert Infix to Prefix Expression (แปลง Infix เป็น Prefix)

    Prefix Expression (Polish Notation) คือรูปแบบที่ Operator อยู่ **หน้า** Operand (เช่น + A B) วิธีแปลง: **Reverse Infix → แปลงเป็น Postfix → Reverse อีกครั้ง = Prefix** ตัวอย่าง Input และ Output Input: Infix: x^y/(5*z)+2 Output: Prefix Form Is: +/^xy*5z2 อัลกอริทึม ฟังก์ชัน infixToPrefix(infix) ขั

  17. Convert Infix to Postfix Expression (แปลง Infix เป็น Postfix)

    Infix Expression คือรูปแบบมาตรฐานที่มนุษย์อ่านง่าย (เช่น A + B * C) แต่คอมพิวเตอร์ต้องการ Postfix เพื่อคำนวณง่ายขึ้น การแปลงใช้ **Stack** จัดการ Operator และ Parenthesis ตาม Precedence และ Associativity Operator Precedence (ลำดับความสำคัญ) OperatorPrecedenceAssociativity ^3 (สูงสุด)Right-to-Left

  18. Evaluate Postfix Expression (คำนวณนิพจน์ Postfix)

    Postfix Expression (Reverse Polish Notation) คือรูปแบบนิพจน์ที่ตัวดำเนินการ (operator) อยู่ **หลัง** โอเปอรันด์ (operand) ทำให้คอมพิวเตอร์คำนวณได้ง่ายโดยใช้ Stack ตัวอย่าง Input และ Output Input: Postfix expression: 53+62/*35*+ Output: The result is: 39 ขั้นตอน: 5 3 + → 8 6 2 / → 3 8 3 * → 24 3 5

  19. Minimum Number of Coins for Given Value (Coin Change Problem)

    กำหนดเหรียญชุดหนึ่ง C = {c₁, c₂, ..., cₙ} (มีจำนวนไม่จำกัดแต่ละชนิด) และค่าเงิน V ต้องการหา จำนวนเหรียญน้อยที่สุด ที่รวมเป็น V ตัวอย่าง Input และ Output Coins: {1, 2, 5, 10} Input: V = 48 Output: Minimum 7 coins required. 48 = 10 + 10 + 10 + 10 + 5 + 2 + 1 อัลกอริทึม Dynamic Programming (Unbounded

  20. Minimum Number of Jumps to Reach End

    กำหนดอาร์เรย์ของจำนวนเต็มบวก แต่ละค่าแทน จำนวนก้าวสูงสุด ที่เดินได้จากตำแหน่งนั้น ต้องการหา จำนวนครั้งน้อยที่สุด ในการกระโดดจาก index 0 ไปยัง index n-1 ตัวอย่าง Input และ Output Input: {1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9} Output: Minimum number of jumps to reach end is: 3 เส้นทาง: index 0(값 1) → inde

Total 1490 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:66/75  20-คอมพิวเตอร์/Page Goto:1 60 61 62 63 64 65 66 67 68 69 70 71 72