การออกแบบอัลกอริธึมสองตัวเพื่อดำเนินงานนี้

สิ่งที่ยอดเยี่ยมประการหนึ่งเกี่ยวกับ Python ก็คือความจริงที่ว่าเป็นภาษาโปรแกรมระดับสูงที่มีฟังก์ชันสำหรับทำงานหลายอย่าง ซึ่งช่วยให้โปรแกรมเมอร์สามารถมุ่งเน้นไปที่งานอื่นได้

ฟังก์ชั่นหนึ่งที่เขียนด้วยภาษา Python คือ mode()[0] ซึ่งสามารถเลือกรายการที่ใช้บ่อยที่สุดในรายการได้ หากบุคคลต้องการเจาะลึกลงไปในไดนามิกของการเขียนโปรแกรม เขาจะต้องรู้วิธีสร้างอัลกอริทึมที่เลือกรายการที่ใช้บ่อยที่สุด

ในโพสต์นี้ ฉันได้ออกแบบอัลกอริธึมสองอัลกอริธึมเพื่อให้บรรลุวัตถุประสงค์นี้: อันแรกเป็นการเลือกตัวเลขในรายการ และอันที่สองเพื่อเลือกชื่อที่ใช้บ่อยที่สุดในรายการ

อัลกอริธึมแรกที่ฉันได้ออกแบบคือการเลือกหมายเลขที่ใช้บ่อยที่สุดจากรายการตัวเลข รหัสเทียมสำหรับอัลกอริทึมนี้เขียนไว้ด้านล่าง:-

  1. กำหนดรายการตัวเลขที่จะใช้
  2. กำหนดฟังก์ชันที่จะใช้เพื่อแยกหมายเลขที่ใช้บ่อยที่สุดออกจากรายการ
  3. กำหนดตัวแปร ตัวนับ และตั้งค่าเป็นศูนย์
  4. กำหนดตัวแปร num ซึ่งกำหนดให้เป็นตัวเลขแรกในรายการตัวเลข
  5. ตั้งค่า for loop ที่จะวนซ้ำแต่ละหมายเลขในรายการตามลำดับ
  6. กำหนดตัวแปรภายในลูปเป็น curr_frequency ซึ่งเป็นการนับจำนวนครั้งที่ตัวเลขปรากฏ
  7. หาก curr_frequency มากกว่าตัวนับ ตัวนับจะเท่ากับ curr_frequency
  8. ตัวแปร num จะกลายเป็นค่า i ซึ่งเป็นจำนวนการวนซ้ำผ่าน for loop ซึ่งจะทำให้งานที่ดำเนินการใน for loop เสร็จสมบูรณ์
  9. ฟังก์ชันเสร็จสมบูรณ์และตัวแปรที่ส่งคืนคือ num และ counter
  10. เมื่อฟังก์ชันเสร็จสมบูรณ์แล้ว ตัวแปรภายนอกฟังก์ชันจะถูกกำหนดเป็นตัวเลขและตัวนับ ซึ่งฟังก์ชันจะส่งคืน
  11. หมายเลขที่เกิดขึ้นบ่อยที่สุดและจำนวนครั้งที่เกิดขึ้นจะถูกพิมพ์ออกมา

รหัสสำหรับรหัสเทียมข้างต้นสามารถพบได้ในภาพหน้าจอด้านล่าง: -

อัลกอริทึมที่สองที่ฉันสร้างขึ้นสามารถใช้เพื่อส่งคืนชื่อที่ใช้บ่อยที่สุดจากรายชื่อที่ไม่เรียงลำดับ อัลกอริธึมนี้ซับซ้อนกว่าอัลกอริธึมก่อนหน้าเนื่องจากใช้สองฟังก์ชัน นอกจากนี้ จะต้องสร้างพจนานุกรมเพื่อจัดเก็บชื่อและจำนวนเหตุการณ์ที่ชื่อปรากฏในรายการที่ไม่ได้เรียงลำดับ รหัสเทียมสำหรับอัลกอริทึมนี้เขียนไว้ด้านล่าง:-

  1. กำหนดรายชื่อที่ไม่เรียงลำดับ
  2. กำหนดฟังก์ชัน count_words ซึ่งจะสร้างพจนานุกรม dict และใส่ชื่อและจำนวนครั้งที่ปรากฏในรายการ
  3. ตัวแปร word_counter ถูกกำหนดให้เป็นพจนานุกรมเปล่า
  4. มีการสร้าง for loop ซึ่งจะวนซ้ำแต่ละชื่อในรายชื่อ
  5. หากชื่ออยู่ในพจนานุกรม word_counter ค่าของ word_counter สำหรับชื่อนั้นจะเพิ่มขึ้น 1 มิฉะนั้น ค่าของ word_counter จะเป็น 1
  6. เมื่อชื่อทั้งหมดในรายชื่อถูกวนซ้ำผ่านการวนซ้ำ for ฟังก์ชันจะส่งคืนพจนานุกรมที่สร้างขึ้น word_counter
  7. ตัวแปร listofnames ถูกกำหนดไว้ ซึ่งเป็นพจนานุกรมที่ส่งออกจากฟังก์ชัน count_words
  8. ฟังก์ชันที่สองถูกกำหนดไว้ ซึ่งก็คือ max_value_dict ซึ่งรับรายชื่อที่ไม่ได้เรียงลำดับเป็นอินพุต
  9. ตัวแปร max_num ถูกกำหนดไว้ ซึ่งเป็นตำแหน่ง 0 ของค่าของพจนานุกรมที่ป้อนเข้าไป
  10. for loop ถูกสร้างขึ้นเพื่อวนซ้ำค่าทั้งหมดในพจนานุกรม
  11. หากค่าที่วนซ้ำของการวนซ้ำของพจนานุกรมมากกว่าตัวแปร max_num, max_num จะกลายเป็นค่านั้น
  12. เมื่อวนซ้ำ for ฟังก์ชันจะส่งกลับตัวแปร max_num และตำแหน่งของพจนานุกรมที่ถือโดย max_num
  13. เมื่อฟังก์ชันเสร็จสมบูรณ์แล้ว ตัวแปร max_num และชื่อที่ได้รับความนิยมมากที่สุดจะถูกกำหนดให้เป็นเอาต์พุตของฟังก์ชัน max_value_dict
  14. สคริปต์จะพิมพ์ชื่อที่ได้รับความนิยมสูงสุดและจำนวนครั้งที่ปรากฏในรายการที่ไม่เรียงลำดับ

รหัสสำหรับสคริปต์นี้สามารถพบได้ในภาพหน้าจอด้านล่าง:-

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

เนื้อหาเพิ่มเติมได้ที่ plainenglish.io ลงทะเบียนเพื่อรับ "จดหมายข่าวรายสัปดาห์ฟรี" ของเรา รับสิทธิพิเศษในการเข้าถึงโอกาสในการเขียนและคำแนะนำใน "ความไม่ลงรอยกันของชุมชน" ของเรา