Skip to content

Latest commit

 

History

History
40 lines (23 loc) · 3.21 KB

ArrayList.md

File metadata and controls

40 lines (23 loc) · 3.21 KB

ARRAYLIST

  •   ArrayList คืออะไร ?

    ArrayList คือ Array ที่ขยายขนาดได้เอง  
    

  •   Exerxise 1  :  ArrayList 🔗

    Exercise 1.1 : จงเขียนโปรแกรมสร้าง ArrayList ด้วยภาษา Java  ให้มี function ต่างๆดังนี้  แล้วหา Big-O ของแต่ละ function
      -  add() : เพิ่มข้อมูลลง ArrayList
      -  get() : ดึงข้อมูลจาก ArrayList
      -  set() : แก้ไขข้อมูลใน ArrayList
      -  toString() : : ปริ้น ArrayList ในform [a,b,c]
    

    Exercise 1.2 : จงเขียนโปรแกรมสร้าง ArrayList แบบ Generic
    

    ArrayList Conclusion

    • เพิ่ม หรือลบข้อมูล (insert/add/remove/delete)   :   O(n) เพราะ ถ้าลบ/เพิ่มจากหัวต้องมีการกระเถิบ n ครั้ง ถ้าเพิ่มหรือลบตรงตูดจะ O(1) เป็น best case เพราะทำได้เลย แต่วิเคราะห์ประสิทธิภาพเราจะดูแค่ worst case (Big-O)
    • การดึง หรือเข้าถึงข้อมูล (Acess/get) : O(1)
    • set ข้อมูล : O(1)

    จะเห็นว่า ArrayList เร็วมาก แต่มีข้อเสียตรงที่ ต้องจองพื้นที่ไว้เหลือๆ ซึ่งเป็นการเปลือง space จึงมีคนคิด Linked List ขึ้นมา


  •   Exerxise 2  :  Particle ----- [ ตัวอย่าง Particle อื่นๆ ] 🔗

    Exercise 2 : จงเขียนโปรแกรมสร้าง Particle โดยเอา ArrayList จากข้อที่แล้วมาประยุกต์ใช้  
    



<  Contents                                                                                                                                                                                       Linked List  >