แถวลำดับพลวัต
แนวคิดเบื้องต้นของแถวลำดับพลวัตเริ่มต้นด้วยการจองหน่วยความจำพลวัตเพื่อสร้างแถวลำดับขนาดคงที่ขึ้นมาให้มีขนาดในระดับหนึ่ง เรียกขนาดนี้ว่า<b data-parsoid='{"dsr":[2458,2486,3,3]}'>ความจุของแถวลำดับพลวัต แถวลำดับที่สร้างมานี้จะประกอบไปด้วยสองส่วนคือ ส่วนที่เก็บข้อมูล</i>ของแถวลำดับพลวัต กับ ส่วนที่ไม่ได้ใช้งาน ขนาดของส่วนที่เก็บข้อมูลนี้เรียกว่า<b data-parsoid='{"dsr":[2634,2660,3,3]}'>ขนาดของแถวลำดับพลวัต เมื่อมีการเพิ่มข้อมูลเข้ามาต่อท้ายก็เป็นเพียงการเปลี่ยนส่วนที่ไม่ได้ใช้งานให้มาเป็นส่วนเก็บข้อมูล ในขณะที่การลบข้อมูลออกด้านท้ายก็เป็นการเปลี่ยนส่วนเก็บข้อมูลให้มาเป็นส่วนที่ไม่ได้ใช้งาน ซึ่งการดำเนินการเปลี่ยนพื้นที่ไปมาระหว่าง ส่วนที่เก็บข้อมูล กับ ส่วนที่ไม่ได้ใช้งาน ใช้เวลาคงที่หรือ Θ ( 1 ) {\displaystyle \Theta (1)} เท่านั้น
แถวลำดับพลวัต
สรุปได้ว่าเมื่อมีการใส่ข้อมูลเข้ามาในแถวลำดับพลวัตเป็นจำนวน n = c k − 1 {\displaystyle n=c^{k-1}} ตัว จะมีการทำงาน 1 + c + c 2 + . . . + c k − 1 = Θ ( c k ) {\displaystyle 1+c+c^{2}+...+c^{k-1}=\Theta (c^{k})} ครั้ง เนื่องจาก k ∝ log c ⁡ n {\displaystyle k\propto \log _{c}n} จะได้ว่าการใส่ข้อมูลเข้าไป n {\displaystyle n} ตัวใช้เวลา Θ ( c log c ⁡ n ) = Θ ( n ) {\displaystyle \Theta (c^{\log _{c}n})=\Theta (n)} ดังนั้นจึงอาจถัวเฉลี่ยให้การดำเนินการเพิ่มข้อมูลครั้งหนึ่งใช้เวลา Θ ( 1 ) {\displaystyle \Theta (1)} ได้ ข้อเสียของแถวลำดับพลวัตที่ขยายความจุเป็นอัตราเรขาคณิตคือพื้นที่ที่เสียไปโดยไม่จำเป็นอาจมีมากถึงเชิงเส้น O ( n ) {\displaystyle O(n)} [1]