Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. Counting Sort ใน Java: รองรับตัวเลขลบได้

    Counting Sort คืออะไร? Counting Sort เป็น Non-comparison Sorting นับความถี่ (Frequency) ของแต่ละค่า แล้วสร้างผลลัพธ์ เวลาสัมพันธ์กับช่วงค่า (Range) ไม่ใช่ n เงื่อนไขใช้งาน ข้อมูลเป็น Integer (หรือ map ได้เป็น index) Range ของค่า (Max - Min) ไม่ใหญ่เกินไป Stable Sort ตัวอย่างโค้ด (รองรับ Negative

  2. Comb Sort ใน Java: ปรับปรุงจาก Bubble Sort

    Comb Sort คืออะไร? Comb Sort ปรับปรุงจาก Bubble Sort โดยใช้ Gap (ระยะห่าง) ที่ลดลงเรื่อยๆ (Shrink Factor 1.3) กำจัด Turtles (ค่าน้อยที่อยู่ท้าย) ได้เร็วกว่า ตัวอย่างโค้ด 1) gap = (int) (gap / shrink); swapped = false; // Compare-

  3. Anagram Substring Search ใน Java: Sliding Window + Character Count

    Anagram Substring Search หา ทุกตำแหน่ง ใน Text ที่มี Substring เป็น Anagram (ตัวอักษรเหมือนกัน ลำดับต่างได้) ของ Pattern ตัวอย่างโค้ด public class Demo { static final int MAX_CHAR = 256; // ASCII // เปรียบเทียบ character count arrays static boolean compareCounts(int[] count1, int[

  4. Binary Search แบบ Recursive ใน Java

    Recursive Binary Search ค้นหาแบบแบ่งครึ่ง (Divide & Conquer) ใช้ Recursion แทน Loop ต้องการ Sorted Array ตัวอย่างโค้ด target) return recursiveBinarySearch(arr, left, mid - 1, target); // ค้นซ้าย return recursiveBinarySearch(arr, mid + 1, right, target); //

  5. Bitonic Sort ใน Java: Parallel Sorting Algorithm

    Bitonic Sort คืออะไร? Bitonic Sort เป็นอัลกอริทึมเรียงลำดับแบบ Parallel เหมาะสำหรับ Hardware (GPU, FPGA) และ Parallel Computing ใช้ Bitonic Sequence (เพิ่มแล้วลด หรือ ลดแล้วเพิ่ม) คุณสมบัติ Comparison pattern แบบคงที่ (Data-independent) - เหมาะสำหรับ parallel hardware Time Complexity: O(log² n) pa

  6. ตัวหารร่วม (Common Divisors) ของสองจำนวนใน Java

    Common Divisors (ตัวหารร่วม) หาจำนวนตัวหารร่วมของสองจำนวน = หาตัวหารของ GCD ของสองจำนวนนั้น ตัวอย่างโค้ด public class Demo { // GCD แบบ Recursive static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // นับจำนวนตัวหารร่วม static i

  7. คำนวณดอกเบี้ยทบต้น (Compound Interest) ใน Java

    สูตรดอกเบี้ยทบต้น (Compound Interest) A = P(1 + r/n)^(nt) A = จำนวนเงินสุดท้าย (Future Value) P = เงินต้น (Principal) r = อัตราดอกเบี้ยต่อปี (Annual rate, decimal) n = จำนวนครั้งที่ทบต้นต่อปี t = เวลา (ปี) โค้ดต้นฉบับใช้ n=1 (ทบต้นรายปี): A = P(1 + r)^t ตัวอย่างโค้ด 0.0975 double time =

  8. ผลรวมกำลังสามของ n จำนวนธรรมชาติแรกใน Java

    ผลรวมกำลังสาม (Sum of Cubes) คำนวณ 1³ + 2³ + 3³ + ... + n³ สูตรทางคณิตศาสตร์ (1 + 2 + ... + n)² = [n(n+1)/2]² คือ ผลรวมกำลังสามของ n จำนวนแรก = กำลังสองของผลรวม n จำนวนแรก ตัวอย่างโค้ด (Loop) import java.util.*; public class Demo { public static int sumOfCubesLoop(int n) { int sum

  9. String Formatting ใน Java: ใช้ % และ String.format()

    String Formatting ใน Java ใช้ String.format() หรือ System.out.printf() กับ Format Specifiers เริ่มด้วย % ตัวอย่างโค้ด public class Demo { public static void main(String args[]) { String myStr = sample.; // %s = String String concatStr = String.format(This is

  10. หาตัวหารเฉพาะมากที่สุด (Largest Prime Factor) ใน Java

    Largest Prime Factor หาตัวหารเฉพาะ (Prime Factor) ที่มีค่ามากที่สุดของจำนวนเต็มบวก ตัวอย่างโค้ด = 1; // n /= 2 (bit shift เร็วกว่า) } // ตรวจสอบตัวหารคี่ จาก 3 ถึง sqrt(n) for (long i = 3; i 2) maxPrime = n; return maxPrime; }

  11. คำนวณเส้นรอบรูปทรงกระบอกใน Java

    เส้นรอบรูปทรงกระบอก (Perimeter of Cylinder) หมายเหตุ: Perimeter of Cylinder ไม่ใช่คำศัพท์มาตรฐาน ทรงกระบอกเป็น 3D ไม่มี เส้นรอบรูป แต่โค้ดต้นฉบับคำนวณ 2 × (diameter + height) ซึ่งอาจหมายถึง: เส้นรอบรูปของ หน้าตัดขวาง (Rectangle: 2×(d+h)) - ผิด เพราะหน้าตัดขวางเป็นสี่เหลี่ยมผืนผ้ากว้าง d สูง h หรืออ

  12. หาจุดยอด จุดโฟกัส และเส้น준เส้นของพาราโบลาใน Java

    พาราโบลา (Parabola) และสมการมาตรฐาน สมการทั่วไป: y = ax² + bx + c (a ≠ 0) สูตรสำคัญ องค์ประกอบสูตร Vertex (จุดยอด)x = -b/(2a), y = (4ac - b²)/(4a) Focus (จุดโฟกัส)x = -b/(2a), y = (4ac - b² + 1)/(4a) Directrix (เส้น준เส้น)y = c - (b² + 1)/(4a) ตัวอย่างโค้ด public class Demo { public static v

  13. คำนวณระยะโฟกัสของกระจกทรงกลมใน Java

    ระยะโฟกัสของกระจกทรงกลม (Spherical Mirror Focal Length) ความสัมพันธ์ระหว่างรัศมีโค้ง (R) และระยะโฟกัส (f): กระจกโค้งใน (Concave Mirror): f = R/2 (บวก - จุดโฟกัสจริง) กระจกโค้งนอก (Convex Mirror): f = -R/2 (ลบ - จุดโฟกัสเสมือน) ตัวอย่างโค้ด import java.util.*; public class Demo { public sta

  14. ตรวจสอบเลขฟีโบนัชชีใน Java: สูตรคณิตศาสตร์

    การตรวจสอบเลขฟีโบนัชชี (Fibonacci Number Check) เลข n เป็นฟีโบนัชชี ก็ต่อเมื่อ 5n² + 4 หรือ 5n² - 4 เป็น Perfect Square (จำนวนกำลังสองสมบูรณ์) ตัวอย่างโค้ด public class Demo { // ตรวจสอบ Perfect Square static boolean isPerfectSquare(int x) { int s = (int) Math.sqrt(x); re

  15. ล้างหน้าจอคอนโซลใน Java: Clear Screen

    การล้างหน้าจอคอนโซล (Console Clear Screen) Java ไม่มี API มาตรฐานสำหรับล้างหน้าจอ ต้องใช้ ANSI Escape Codes ซึ่งทำงานได้บนเทอร์มินัลที่รองรับ (Linux/macOS, Windows 10+ Command Prompt/PowerShell) ตัวอย่างโค้ด public class Demo { public static void main(String[] args) { // ANSI Escape C

  16. การสร้าง Permutations ของสตริงใน Java (Recursion + Backtracking)

    Permutation คืออะไร? Permutation คือการจัดเรียงสมาชิกของเซตในลำดับต่างๆ สำหรับสตริงความยาว n มี permutation ทั้งหมด n! แบบ ตัวอย่างโค้ด (Recursive Backtracking) พิมพ์ prefix if (remaining.length() == 0) { System.out.print(prefix + ); return; }

  17. การพิมพ์จำนวนเต็มระหว่างสตริงใน Java: String Concatenation

    การรวมสตริงกับตัวเลขใน Java Java ใช้ + สำหรับทั้งการบวกตัวเลขและการต่อสตริง (String Concatenation) ซึ่งทำงานจากซ้ายไปขวา ตัวอย่างโค้ด public class Demo { public static void main(String[] args) { System.out.println(เครื่องหมาย = อยู่ระหว่างค่าคำนวณสองค่า); // คำนวณก่อ

  18. พิมพ์รูปสามเหลี่ยมใน Java: Triangle Pattern Printing

    การพิมพ์รูปสามเหลี่ยม (Triangle Pattern) ใช้ Nested Loop: ลูปนอกควบคุมแถว (rows) ลูปในควบคุมช่องว่างและสัญลักษณ์ ตัวอย่างโค้ด import java.util.Scanner; public class Demo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print(กร

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:71/97  20-คอมพิวเตอร์/Page Goto:1 65 66 67 68 69 70 71 72 73 74 75 76 77