Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. โปรแกรม Python สำหรับ Basic Euclidean Algorithm (อัลกอริทึมยุคลิดพื้นฐาน)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดตัวเลข 2 ตัว ให้คำนวณ GCD (ตัวหารร่วมมาก) ของตัวเลขทั้งสองและแสดงผล GCD (Greatest Common Divisor) ของตัวเลข 2 ตัวคือตัวเลขที่มากที่สุดที่หารทั้งสองตัวลงตัว ที่นี่เราใช้วิธี Euclidean ในการคำนวณ GCD คือ หารซ้ำๆ จนกว่าจะได้เศษเป็นศู

  2. โปรแกรม Python สำหรับ Binary Insertion Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Binary Insertion Sort ที่นี่ ตามที่ชื่อบ่งชี้ เราใช้แนวคิดของ Binary Search ร่วมกับอัลกอริทึม Insertion Sort มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # ฟังก์ชันจัดเรียง def insertion_sor

  3. โปรแกรม Python สำหรับ BogoSort หรือ Permutation Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Permutation Sort BogoSort ที่รู้จักในชื่อ Permutation Sort อิงตามกระบวนสร้างและทดสอบ (generate and test paradigm) มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด a[i+1]): return Fa

  4. โปรแกรม Python สำหรับ Cocktail Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดรายการ (list) ให้ทำ Bitonic Sort บนรายการที่กำหนดและแสดงรายการ Cocktail Sort — การจัดเรียงเกิดขึ้นคล้าย Bubble Sort ที่การวนรอบ (iteration) เกิดขึ้นในทั้งสองทิศทาง อัลกอริทึม อาร์เรย์จะถูกท่องจากซ้ายไปขวา ระหว่างการท่อง จะเปรียบเท

  5. โปรแกรม Python สำหรับ Coin Change (ปัญหาเงินทอน)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดเหรียญ N เหรียญ และเราต้องการทำเงินทอนของเหรียญเหล่านั้น โดยที่มีสินค้าคงคลังไม่จำกัดของแต่ละค่าใน S ให้แสดงว่าเราสามารถทำเงินทอนได้กี่วิธี โดยไม่คำนึงถึงลำดับ เราจะใช้แนวคิด Dynamic Programming เพื่อแก้ปัญหาและลดความซับซ้อนด้านเว

  6. โปรแกรม Python สำหรับ Counting Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงอาร์เรย์โดยใช้แนวคิดของ Counting Sort Counting Sort เป็นเทคนิคที่ทำงานบนคีย์ (keys) ในช่วงเฉพาะ เกี่ยวข้องกับการนับจำนวนวัตถุที่มีคีย์และค่าที่แตกต่างกัน สุดท้ายเราทำการคำนวณเลขคณิตเพื่อหาตำแหน่งของแต่ละวัตถุแล

  7. โปรแกรม Python สำหรับ Cutting a Rod (ปัญหาตัดไม้)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดไม้ยาว n และอาร์เรย์ราคาที่มีราคาของชิ้นส่วนทุกขนาดที่เล็กกว่า n ให้กำหนดค่าสูงสุดที่ได้จากการตัดไม้และขายชิ้นส่วน เราจะใช้วิธี Dynamic Programming เพื่อแก้ปัญหานี้ มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # Dynamic Progra

  8. โปรแกรม Python สำหรับ Cycle Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Cycle Sort เป็นอัลกอริทึมแบบ in-place และการสลับ (swapping) เกิดขึ้นจากการสร้างวัฏจักร (cycles) มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด def cycleSort(array): writes = 0 # วัฏจัก

  9. โปรแกรม Python ตรวจจับ Cycle ใน Directed Graph (กราฟมีทิศทาง)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนด Directed Graph ให้ตรวจสอบว่ากราฟมี Cycle (วัฏจักร) หรือไม่ ผลลัพธ์ควรเป็น true หากกราฟมี Cycle อย่างน้อย 1 วัฏจักร มิฉะนั้นเป็น false มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # โมดูล collections from collections import de

  10. โปรแกรม Python สำหรับ Egg Dropping Puzzle (ปริศนาทิ้งไข่)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — สมมติว่าเราต้องการทราบว่าชั้นไหนในอาคาร 40 ชั้น ปลอดภัยที่จะทิ้งไข่ลงมา และชั้นไหนจะทำให้ไข่แตกเมื่อตกถึงพื้น ด้วยการใช้ไข่ เราต้องการแสดงจำนวนครั้งทดสอบ (trials) น้อยที่สุดเพื่อตรวจสอบชั้นต่างๆ มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอ

  11. โปรแกรม Python สำหรับ Extended Euclidean Algorithm (อัลกอริทึมยุคลิดขยาย)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดตัวเลข 2 ตัว ให้คำนวณ GCD (ตัวหารร่วมมาก) ของตัวเลขทั้งสองและแสดงผล GCD (Greatest Common Divisor) ของตัวเลข 2 ตัวคือตัวเลขที่มากที่สุดที่หารทั้งสองตัวลงตัว ที่นี่เราใช้วิธี Euclidean ในการคำนวณ GCD คือ หารซ้ำๆ จนกว่าจะได้เศษเป็นศู

  12. โปรแกรม Python หาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ 2 อาร์เรย์ ให้หาคู่ที่ใกล้ที่สุดจากอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์ มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # โมดูล sys import sys # ฟังก์ชันหาคู่ def print_(ar1, ar2, m, n, x): # ความต่าง diff = sys.m

  13. โปรแกรม Python สำหรับ Gnome Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้ Gnome Sort อัลกอริทึม 1. เริ่มต้นท่องอาร์เรย์จากซ้ายไปขวา 2. หากองค์ประกอบปัจจุบันมากกว่าหรือเท่ากับองค์ประกอบก่อนหน้า ให้ก้าวไปข้างหน้า 1 ขั้น 3. มิฉะนั้น หากองค์ประกอบปัจจุบันน้อยกว่าองค์ประกอบก่อนหน้า

  14. โปรแกรม Python สำหรับ Heap Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Heap Sort ที่นี่เราจะวางองค์ประกอบสูงสุดไว้ที่ท้าย สิ่งนี้จะทำซ้ำจนกว่าอาร์เรย์จะถูกจัดเรียง มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # ฟังก์ชัน heapify def heapify(arr, n, i): large

  15. โปรแกรม Python สำหรับ Iterative Merge Sort (Merge Sort แบบวนรอบ)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Merge Sort แบบวนรอบ (iteration) ที่นี่เราจะวางองค์ประกอบสูงสุดไว้ที่ท้าย สิ่งนี้จะทำซ้ำจนกว่าอาร์เรย์จะถูกจัดเรียง มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # วิธีแบบวนรอบ (iterative) def

  16. โปรแกรม Python สำหรับ Iterative Quick Sort (Quick Sort แบบวนรอบ)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Quick Sort แบบวนรอบ (iterative) ที่นี่เราจะแบ่งพาร์ติชันอาร์เรย์ก่อน แล้วจัดเรียงพาร์ติชันแยกกันเพื่อให้ได้อาร์เรย์ที่จัดเรียงแล้ว มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # วิธีแบบวนรอบ

  17. โปรแกรม Python สำหรับหาความสูงสูงสุดเมื่อจัดเหรียญเป็นรูปสามเหลี่ยม

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดเหรียญ N เหรียญ ต้องจัดให้อยู่ในรูปสามเหลี่ยม คือ แถวแรกมี 1 เหรียญ แถวที่สองมี 2 เหรียญ ต่อไปเรื่อยๆ ต้องการแสดงความสูงสูงสุดที่สามารถทำได้ด้วย N เหรียญ มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด e): x = (x + y) /

  18. โปรแกรม Python สำหรับ Merge Sort

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้แนวคิดของ Merge Sort ที่นี่เราจะวางองค์ประกอบสูงสุดไว้ที่ท้าย สิ่งนี้จะทำซ้ำจนกว่าอาร์เรย์จะถูกจัดเรียง มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # ฟังก์ชัน merge def merge(arr, l, m, r): n1 =

  19. โปรแกรม Python สำหรับ Min Cost Path (เส้นทางต้นทุนต่ำสุด)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดเมทริกซ์ต้นทุน (cost matrix) และตำแหน่ง (m, n) ให้หาต้นทุนของเส้นทางต่ำสุดเพื่อไปถึง (m, n) จาก (0, 0) แต่ละเซลล์แทนต้นทุนในการเดินทางจากเซลล์หนึ่งไปอีกเซลล์หนึ่ง มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด # วิธี Dynamic Pro

  20. โปรแกรม Python สำหรับปัญหาสถานีหยุดรถ (Number of stopping station problem)

    ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้: ข้อความปัญหา — กำหนดว่ามีสถานีกลาง 13 สถานีระหว่างสถานี A และ B ต้องการหาจำนวนวิธีที่รถไฟสามารถหยุดที่ 2 สถานีกลาง โดยที่ไม่มีสถานีที่ติดกัน มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้: ตัวอย่างโค้ด = s: return int(num / dem) else: # เงื่อ

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:112/451  20-คอมพิวเตอร์/Page Goto:1 106 107 108 109 110 111 112 113 114 115 116 117 118