Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

หลายรายการในอาร์เรย์เดียวในโครงสร้างข้อมูล


การแสดงอาร์เรย์นั้นสิ้นเปลืองพื้นที่โดยพื้นฐานเมื่อจัดเก็บข้อมูลที่จะเปลี่ยนแปลงเมื่อเวลาผ่านไป ในการจัดเก็บข้อมูล เราจัดสรรพื้นที่บางส่วนซึ่งใหญ่พอที่จะเก็บค่าหลายค่าในอาร์เรย์ สมมติว่าเราใช้เกณฑ์การเพิ่มอาร์เรย์ของอาร์เรย์เพื่อเพิ่มขนาดของอาร์เรย์

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

เมื่อเราต้องการจัดเก็บหลายรายการ เราสามารถแบ่งปันอาร์เรย์ที่ใหญ่กว่าบางรายการ แทนที่จะสร้างอาร์เรย์ใหม่สำหรับรายการใหม่ รายการหลายรายการในอาร์เรย์เดียวจะเป็นดังนี้ -

หลายรายการในอาร์เรย์เดียวในโครงสร้างข้อมูล

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