วิธีที่มีประสิทธิภาพที่สุดในการจัดเก็บหมายเลขโทรศัพท์หลายพันหมายเลข
นี่คือคำถามสัมภาษณ์ของ Google: มีหมายเลขโทรศัพท์ประมาณพันหมายเลขที่จะจัดเก็บแต่ละหมายเลขมี 10 หลัก คุณสามารถสมมติว่า 5 หลักแรกของแต่ละหลักเหมือนกันในพันตัวเลข คุณต้องดำเนินการดังต่อไปนี้: a. ค้นหาว่ามีหมายเลขที่ระบุหรือไม่ ข. พิมพ์หมายเลขทั้งหมด วิธีการประหยัดพื้นที่ที่มีประสิทธิภาพที่สุดในการทำเช่นนี้คืออะไร? ฉันตอบตารางแฮชและหลังจากนั้นก็เขียนโค้ด huffman แต่ผู้สัมภาษณ์ของฉันบอกว่าฉันไปไม่ถูกทาง โปรดช่วยฉันที่นี่ การใช้คำต่อท้ายจะช่วยได้หรือไม่? ตามหลักการแล้วการจัดเก็บหมายเลข 1,000 หมายเลขจะใช้เวลา 4 ไบต์ต่อหมายเลขดังนั้นโดยรวมแล้วจะใช้เวลา 4000 ไบต์ในการจัดเก็บหมายเลข 1,000 หมายเลข ในเชิงปริมาณฉันต้องการลดพื้นที่จัดเก็บลงเหลือ <4000 ไบต์นี่คือสิ่งที่ผู้สัมภาษณ์อธิบายให้ฉันฟัง