Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++
C++
  1. โปรแกรม C++ หาเส้นทางผลรวมต่ำสุดระหว่างสองใบไม้ของต้นไม้ไบนารี

    ข้อความโจทย์ กำหนดต้นไม้ไบนารีที่แต่ละโหนดมีตัวเลข งานคือการหาผลรวมต่ำสุดที่เป็นไปได้จากโหนดใบหนึ่งไปยังอีกโหนดใบหนึ่ง ตัวอย่าง ในต้นไม้ข้างต้น เส้นทางผลรวมต่ำสุดคือ -6 ดังนี้: (-4) + 3 + 2 + (-8) + 1 อัลกอริทึม แนวคิดคือการรักษาค่าสองค่าในการเรียกฟังก์ชันเวียนเกิด: ผลรวมเส้นทางจากรากไปยังใบต่ำ

  2. โปรแกรม C++ หาเส้นทางผลรวมต่ำสุดในสามเหลี่ยม

    ข้อความโจทย์ กำหนดโครงสร้างสามเหลี่ยมของตัวเลข หาเส้นทางผลรวมต่ำสุดจากด้านบนลงล่าง แต่ละขั้นคุณอาจเคลื่อนที่ไปยังตัวเลขที่อยู่ติดกันบนแถวด้านล่าง ตัวอย่าง ถ้าอินพุตคือ: 5 7 3 8 1 2 9 6 4 5 ผลรวมต่ำสุดคือ 13 ดังนี้: 5 + 3 + 1 + 4 อัลกอริทึม ใช้เทคนิคการจดจำ (memorization) ของการเขียนโปร

  3. โปรแกรม C++ หาจำนวนการสลับน้อยที่สุดเพื่อจัดกลุ่มองค์ประกอบน้อยกว่าหรือเท่ากับ k ให้อยู่ติดกัน

    ข้อความโจทย์ กำหนดอาร์เรย์ของ n จำนวนเต็มบวกและตัวเลข k หาจำนวนการสลับน้อยที่สุดที่จำเป็นเพื่อนำตัวเลขทั้งหมดที่น้อยกว่าหรือเท่ากับ k มาอยู่ติดกัน ตัวอย่าง ถ้าอาร์เรย์อินพุตคือ = {1, 5, 4, 7, 2, 10} และ k = 6 ต้องการ 1 การสลับ คือ สลับองค์ประกอบ 7 กับ 2 อัลกอริทึม นับองค์ประกอบทั้งหมดที่น้อยกว่า

  4. โปรแกรม C++ หาจำนวนการสลับน้อยที่สุดเพื่อจัดกลุ่ม 1 ให้อยู่ติดกัน

    ข้อความโจทย์ กำหนดอาร์เรย์ของ 0 และ 1 งานคือการหาจำนวนการสลับน้อยที่สุดที่จำเป็นเพื่อจัดกลุ่ม 1 ทั้งหมดที่อยู่ในอาร์เรย์ให้อยู่ติดกัน ตัวอย่าง ถ้าอาร์เรย์อินพุต = {1, 0, 1, 1, 0, 1} ต้องการ 1 การสลับ คือ สลับ 0 ตัวแรกกับ 1 ตัวสุดท้าย อัลกอริทึม นับจำนวน 1 ทั้งหมดในอาร์เรย์ ถ้าจำนวนคือ x เราต้องห

  5. โปรแกรม C++ หาจำนวนการสลับน้อยที่สุดเพื่อทำให้สตริงไบนารีสลับกัน

    ข้อความโจทย์ กำหนดสตริงไบนารีที่มีความยาวเป็นเลขคู่และมีจำนวน 0 และ 1 เท่ากัน จำนวนการสลับน้อยที่สุดเพื่อทำให้สตริงสลับกันคือเท่าไร? สตริงไบนารีจะสลับกันได้หากไม่มีองค์ประกอบติดกันสองตัวที่เท่ากัน ตัวอย่าง ถ้า str = 11110000 ต้องการ 2 การสลับ อัลกอริทึม นับจำนวนศูนย์ที่ตำแหน่งคี่และคู่ของสตริง ใ

  6. โปรแกรม C++ หาจำนวนการสลับน้อยที่สุดเพื่อแบ่งอาร์เรย์ไบนารีให้เป็น 0 ก่อน 1 หลัง

    ข้อความโจทย์ กำหนดอาร์เรย์ของ n จำนวนเต็มที่มีเฉพาะ 0 และ 1 หาจำนวนการสลับ (เปลี่ยนจาก 0 เป็น 1 หรือในทางกลับกัน) น้อยที่สุดที่จำเป็น เพื่อให้อาร์เรย์ถูกแบ่งพาร์ติชัน กล่าวคือ มี 0 ก่อน แล้วตามด้วย 1 ตัวอย่าง ถ้า arr[] = {1, 0, 0, 1, 1, 1, 0} ต้องการ 2 การสลับ คือ สลับ 1 ตัวแรกและ 0 ตัวสุดท้าย อั

  7. โปรแกรม C++ หาค่าต่ำสุดของ AND ระหว่างองค์ประกอบของทุกเซตย่อยของอาร์เรย์

    ข้อความโจทย์ กำหนดอาร์เรย์ของจำนวนเต็ม งานคือการหา AND ขององค์ประกอบทั้งหมดของแต่ละเซตย่อยของอาร์เรย์และพิมพ์ค่า AND ต่ำสุดจากทั้งหมดนั้น ตัวอย่าง If arr[] = {1, 2, 3, 4, 5} then (1 & 2) = 0 (1 & 3) = 1 (1 & 4) = 0 (1 & 5) = 1 (2 & 3) = 2 (2 & 4) = 0 (2 & 5) = 0 (3 & 4) = 0 (3 & 5) = 1 (4 & 5) = 4

  8. โปรแกรม C++ หาค่าต่ำสุดของ "max + min" ในซับอาร์เรย์

    ข้อความโจทย์ กำหนดอาร์เรย์ของ n องค์ประกอบบวก เราต้องการหาผลรวมต่ำสุดที่เป็นไปได้ของค่าสูงสุดและต่ำสุดในซับอาร์เรย์ โดยที่ขนาดของซับอาร์เรย์ควรมากกว่าหรือเท่ากับ 2 ตัวอย่าง ถ้า arr[] = {10, 5, 15, 7, 2, 1, 3} ผลรวมของ max + min คือ 3 เมื่อเราบวก 2 + 1 อัลกอริทึม การเพิ่มองค์ประกอบใดๆ ให้กับซับอา

  9. โปรแกรม C++ หาค่าต่ำสุดที่หารตัวหนึ่งลงตัวและหารด้วยอีกตัวลงตัว

    ข้อความโจทย์ กำหนดจำนวนเต็มสองจำนวน p และ q งานคือการหาจำนวน x ที่น้อยที่สุดที่ทำให้ q % x = 0 และ x % p = 0 หากเงื่อนไขไม่เป็นจริงสำหรับตัวเลขใดๆ ให้พิมพ์ -1 ตัวอย่าง If p = 3 and q = 66 then answer is 3 as: 66 % 3 = 0 3 % 3 = 0 อัลกอริทึม หากตัวเลข x ตอบสนองเงื่อนไขที่กำหนด จะชัดเจนว่า q จะหาร

  10. โปรแกรม C++ หาคู่ค่าที่มีค่า XOR ต่ำสุด

    ข้อความโจทย์ กำหนดอาร์เรย์ของจำนวนเต็ม หาคู่ในอาร์เรย์ที่มีค่า XOR ต่ำสุด ตัวอย่าง If arr[] = {10, 20, 30, 40} then minimum value pair will be 20 and 30 as (20 ^ 30) = 10. (10 ^ 20) = 30 (10 ^ 30) = 20 (10 ^ 40) = 34 (20 ^ 30) = 10 (20 ^ 40) = 60 (30 ^ 40) = 54 อัลกอริทึม สร้างคู่ทั้งหมดของอาร์เ

  11. โปรแกรม C++ สร้างภาพกระจกของ n-ary Tree

    ข้อความโจทย์ กำหนดต้นไม้ที่ทุกโหนดมีจำนวนลูกที่แตกต่างกัน แปลงต้นไม้ให้เป็นภาพกระจก ตัวอย่าง ถ้า n-ary tree คือ: ภาพกระจกจะเป็น: ตัวอย่างโค้ด C++ #include <bits/stdc++.h> using namespace std; struct node { int data; vectorchild.size(); if (n < 2) { return; } f

  12. โปรแกรม C++ หาตัวเลขคู่และคี่ที่หายไปจากอาร์เรย์ที่กำหนด

    ข้อความโจทย์ กำหนดอาร์เรย์จำนวนเต็มสองอาร์เรย์ even[] และ odd[] ซึ่งมีองค์ประกอบคู่และคี่ติดต่อกันตามลำดับ โดยมีองค์ประกอบหายไปหนึ่งตัวจากแต่ละอาร์เรย์ งานคือการหาองค์ประกอบที่หายไป ตัวอย่าง If even[] = {10, 8, 6, 16, 12} and odd[] = {3, 9, 13, 7, 11} then missing number from even array is 14 and

  13. โปรแกรม C++ หาการเรียงสับเปลี่ยน (Permutations) ที่หายไปในรายการ

    ข้อความโจทย์ กำหนดรายการของการเรียงสับเปลี่ยนของคำใดคำหนด หาการเรียงสับเปลี่ยนที่หายไปจากรายการ ตัวอย่าง If permutation is = { ABC, ACB, BAC, BCA} then missing permutations are {CBA and CAB} อัลกอริทึม สร้างเซตของสตริงทั้งหมดที่กำหนด และอีกเซตหนึ่งของการเรียงสับเปลี่ยนทั้งหมด คืนค่าความแตกต่างระ

  14. โปรแกรม C++ หาผลรวมสูงสุดของ M ซับอาร์เรย์ขนาด K ที่ไม่ทับซ้อนกัน

    ข้อความโจทย์ กำหนดอาร์เรย์และตัวเลขสองจำนวน M และ K เราต้องการหาผลรวมของซับอาร์เรย์ขนาด K จำนวน M อันดับแรก (ไม่ทับซ้อนกัน) ในอาร์เรย์ (ลำดับของอาร์เรย์คงที่) K คือขนาดของซับอาร์เรย์ และ M คือจำนวนซับอาร์เรย์ สมมติว่าขนาดอาร์เรย์มากกว่า m*k หากขนาดอาร์เรย์ทั้งหมดไม่ใช่จำนวนคูณของ k เราสามารถใช้ซับอ

  15. โปรแกรม C++ สำหรับฟังก์ชันเมียบิอุส (Mobius Function)

    ฟังก์ชันเมียบิอุสคืออะไร? ฟังก์ชันเมียบิอุส (Mobius Function) เป็นฟังก์ชันทฤษฎีจำนวนที่นิยามโดย: $$\mu(n)\equiv\begin{cases}0\\1\\(-1)^{k}\end{cases}$$ μ(n) = 0 ถ้า n มีตัวประกอบซ้ำกัน 1 ตัวขึ้นไป μ(n) = 1 ถ้า n = 1 μ(n) = (-1)ᵏ ถ้า n เป็นผลคูณของ k จำนวนเฉพาะที่ต่างกัน ตัวอย่าง Input: N = 17

  16. โปรแกรม C++ สำหรับหาอนุพันธ์ของพหุนาม

    พหุนามคืออะไร? พหุนาม (Polynomial) มาจากสองคำว่า Poly ซึ่งหมายถึง หลาย และ nomial ซึ่งหมายถึง พจน์ ประกอบด้วยหลายพจน์ นิพจน์พหุนามเป็นนิพจน์ที่ประกอบด้วยตัวแปร สหประจักร และเลขชี้กำลัง ซึ่งเกี่ยวข้องกับการดำเนินการเช่น การบวก การคูณ และการลบของตัวแปร ตัวอย่างพหุนาม x² + x + 1 อนุพันธ์ของพหุนาม อน

  17. โปรแกรม C++ สำหรับอัลกอริทึมการแทนที่หน้าที่เหมาะสมที่สุด (Optimal Page Replacement)

    ภาพรวมของอัลกอริทึม Optimal Page Replacement อัลกอริทึมการแทนที่หน้าที่เหมาะสมที่สุด (Optimal Page Replacement Algorithm) เป็นอัลกอริทึมการแทนที่หน้าที่ตัดสินใจว่าจะแทนที่หน่วยความจำหน้าใด ในอัลกอริทึมนี้ เราจะแทนที่หน้าที่ไม่ได้ถูกอ้างอิงในอนาคตที่ใกล้ชิด แม้ว่าจะไม่สามารถนำไปใช้งานจริงได้ แต่เป็น

  18. โปรแกรม C++ สำหรับอัลกอริทึม Best Fit ในการจัดการหน่วยความจำ

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

  19. โปรแกรม C++ สำหรับ Priority Scheduling (การจัดตารางเวลาตามลำดับความสำคัญ)

    โจทย์ เราได้รับจำนวน n โปรเซส คือ P1, P2, P3,.......,Pn พร้อม burst times และ priorities ที่เกี่ยวข้องกับแต่ละโปรเซส งานคือหา average waiting time, average turnaround time และลำดับการดำเนินการของโปรเซสโดยใช้ priority CPU scheduling algorithm Waiting Time และ Turnaround Time คืออะไร? Turnaround Time

  20. โปรแกรม C++ สำหรับ Bisection Method (วิธีแบ่งครึ่ง)

    โจทย์ กำหนดฟังก์ชัน f(x) กับตัวเลข a และ b โดยที่ f(a) * f(b) > 0 และฟังก์ชัน f(x) ควรอยู่ระหว่าง a และ b คือ f(x) = [a, b] งานคือหาค่าของ root ที่อยู่ระหว่างช่วง a และ b ในฟังก์ชัน f(x) โดยใช้ bisection method Bisection Method คืออะไร? Bisection method ใช้เพื่อหาค่าของ root ในฟังก์ชัน f(x) ภายใน

Total 6007 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:108/301  20-คอมพิวเตอร์/Page Goto:1 102 103 104 105 106 107 108 109 110 111 112 113 114