ฉันค้นหาอัลกอริธึมที่มีประสิทธิภาพมากที่สุด (การสตรีมมิ่ง ??) ที่บอกองค์ประกอบที่เกิดขึ้นบ่อยที่สุด 'k' ในสตรีมข้อมูล ณ จุดใดก็ได้ โพสต์นี้: อัลกอริทึมสตรีมข้อมูล "หารและพิชิต"ทำให้ฉันสนใจ
ตัวอย่างเช่นสมมติว่ามีตัวเลข: (4,3,5,1,6,2,4,3,8,9,1) และฉันค้นหาหมายเลข 3 ที่เกิดขึ้นบ่อยที่สุด (พูด) แล้วฉันควร รับ (3,4,1) เป็นคำตอบ
ฉันพยายามค้นหาออนไลน์ แต่ไม่สามารถหาสถานที่ที่ให้แนวทางและบอกว่าดีที่สุด วิธีแก้ปัญหาเล็ก ๆ น้อย ๆ ก็คือการใช้กองหรือต้นไม้ไบนารีแบบสมดุล แต่ฉันคิดว่ามันมีวิธีที่ดีกว่าและฉันอยากรู้ว่ามันมีการบันทึกไว้ที่ใดที่หนึ่งหรือไม่
แก้ไข: ฉันกำลังมองหาอัลกอริทึมที่ให้คำตอบที่ถูกต้องเสมอเมื่อเทียบกับอัลกอริธึม appromixation (ซึ่งหลายอันปรากฏขึ้นในผลการค้นหา) ซึ่งขึ้นอยู่กับการกระจายของข้อมูลไม่ทางใดก็ทางหนึ่ง