Swift: Array.count กับ String.count

Feb 02 2023
นักพัฒนาหลายคนคิดว่า Array.count และ String
ภาพถ่ายโดย Siora Photography บน Unsplash

นักพัฒนาหลายคนคิดว่าArray.countและString.countเหมือนกัน แม้ว่าพวกมันจะถูกใช้เพื่อจุดประสงค์เดียวกัน (รับความยาวลำดับ) วิธีที่พวกมันได้รับความยาวสร้างความแตกต่างอย่างมาก

อาร์เรย์สอดคล้องกับRandomAccessCollection ; การเข้าถึงจุดสิ้นสุดของดัชนีต้องใช้ O(1) ดังนั้น ความซับซ้อนของเวลาของArray.countคือ O(1)

สตริงไม่สอดคล้องกับRandomAccessCollection ; การนับจำนวนอักขระจะใช้ O(n) และ n คือจำนวนอักขระในString ดังนั้น ความซับซ้อนของเวลาของString.countคือ O(n)

มาทดลองกัน!

สำหรับ Array.count

เมื่อขนาด Array เพิ่มขึ้น รันไทม์จะเสถียรมาก

สำหรับ String.Count

เมื่อขนาดสตริงเพิ่มขึ้น รันไทม์ก็เพิ่มขึ้นมาก

เป็นสมาชิกสื่อกลางอ่านเรื่องราวดีๆ และพัฒนาอาชีพของคุณ

สำหรับเนื้อหาพรีเมียมเพิ่มเติม โปรดตรงไปที่: