ใน "บิ๊กโอ" สัญลักษณ์ทั่วไปมีชื่อสามัญ (แทนที่จะพูดว่า "โอ้ปัจจัยคงที่"):
O (1)คือ "คงที่"
O (บันทึก n)คือ "ลอการิทึม"
O (n)คือ "เชิงเส้น"
O (n ^ 2)คือ "กำลังสอง"
O (n * log n)คือ ???
มันเป็นแค่ "n log n" หรือมีชื่อพิเศษเหมือนด้านบนหรือไม่?
ใน "บิ๊กโอ" สัญลักษณ์ทั่วไปมีชื่อสามัญ (แทนที่จะพูดว่า "โอ้ปัจจัยคงที่"):
O (1)คือ "คงที่"
O (บันทึก n)คือ "ลอการิทึม"
O (n)คือ "เชิงเส้น"
O (n ^ 2)คือ "กำลังสอง"
O (n * log n)คือ ???
มันเป็นแค่ "n log n" หรือมีชื่อพิเศษเหมือนด้านบนหรือไม่?
คำตอบ:
มันเรียกว่าlinearithmicเวลาและเป็นกรณีพิเศษของชั้นทั่วไปรู้จักกันมากขึ้นเป็นเชิงเส้นเสมือน ตามชื่ออาจแนะนำอัลกอริทึมที่อยู่ในคลาสนี้เกือบจะทำงานในเวลาเชิงเส้น ในความเป็นจริงพวกเขามีความซับซ้อนต่ำกว่าอัลกอริทึมที่ทำงานในกับk > 1
linearithmic: adj.
ของอัลกอริทึมมีเวลาทำงานที่ O (N log N) ประกาศเกียรติคุณเป็นกระเป๋าหิ้วของ 'เชิงเส้น' และ 'ลอการิทึม' ในอัลกอริทึมใน Cโดย Robert Sedgewick (Addison-Wesley 1990, ISBN 0-201-51425-7)
ฉันเคยได้ยิน O (n log n) อธิบายว่า "log-linear" ซึ่งดูเหมือนว่าจะเหมาะสมกับฉัน
นี่นานเกินไปสำหรับความคิดเห็นดังนั้นฉันจึงเขียนคำตอบ ฉันไม่ได้เพิ่มสิ่งนี้ในคำตอบแรกของฉันเพราะมีผู้คนมากมายโหวตขึ้นคำตอบแรกของฉันแล้วและฉันไม่แน่ใจว่าพวกเขาเห็นด้วยกับคำตอบนี้เช่นกัน
ความพึงพอใจคือ Quasilinear เสร็จสมบูรณ์ในวารสาร NQL
CP Schnorr
ของสมาคมเครื่องจักรกล, ปีที่
25 , ฉบับที่ 1, มกราคม 1978, pp 136-1,15
และในบทความที่อ้างถึงใน Wikipedia ที่เกี่ยวข้องกับบทความของ Schorr นี้ Schnorr แนะนำคลาส quasilinear (QL) ที่ซับซ้อนและ nondeterministic quasilinear (NQL)
ดูเหมือนว่า Quasilinear จะใช้ในทฤษฎีของสมการเชิงอนุพันธ์ย่อยเช่นกัน
โดยสรุปดูเหมือนว่าชาว Wikipedians หนึ่งคนหรือมากกว่าต้องการระบุชื่อสำหรับฟังก์ชั่นนี้ที่ไม่มีชื่อที่ยอมรับกันอย่างกว้างขวาง แต่ถึงตอนนี้สำหรับฉันแล้วดูเหมือนว่าไม่มีชื่อใดได้รับการยอมรับอย่างกว้างขวาง (นอกจากนั้นฉันคิดว่านี่เป็นวิธีการจัดการที่ Wikipedia ไม่ควรทำ) ฉันคิดว่าต้องระวังถ้าใช้ Wikipedia สำหรับคำถามคำศัพท์ และสำหรับฟังก์ชั่นนี้มันไม่ได้เป็นแหล่งที่เพียงพอ ผมคิดว่าเพียงชื่อเดียวที่ได้รับการยอมรับกันอย่างแพร่หลายสำหรับฟังก์ชั่นนี้เป็น n log n