[問題] linked/array list差別

作者: prott (mcik)   2022-03-10 19:27:14
平常使用Array List都是來存放東西
今天看到Linked List
簡單了解實用上的效率差異
Linked List 新增/刪除
Array List 取資料用
作者: yoche2000 (Sushi Desu! 在下壽司)   2022-03-10 20:28:00
https://i.imgur.com/kXJlEUs.jpg感覺 append 這個動作同時有 maniputate (new entries)也有 storinghttps://i.imgur.com/BMgkvSE.jpg這樣看來應該跟記憶體/storage 有關畢竟你的n很大 (?如果這個推論正確那就可能表示 Storage/memory is moretime-dominant 在這兩者之間 我猜啦
作者: ssccg (23)   2022-03-10 20:50:00
測效能不能用這麼...隨便的程式碼ArrayList並不是用一個剛好大小的array,是有額外空間的每次不夠用時會擴張成3/2倍大小,所以重新分配空間的次數隨著n變大是會以指數減少的,省掉分配記憶體空間而LinkedList每次都是要分配新空間,且用的總空間也較大另外LinkedList是快在新增/刪除List「中間」的元素,你用ArrayList.add = addLast來比較根本就不對,如上所說實作上addLast本來平均就會是ArrayList較快實務上來說已知大概的資料量,且多分配空間浪費的機會不大的話ArrayList都很有優勢,除非真的需要大量insert/remove
作者: MonyemLi (life)   2022-03-17 14:19:00
https://springframework.guru/java-arraylist-vs-linkedlist/沒大量移除需求,就不用考慮太多了
作者: jej (晃奶大馬桶)   2022-03-17 21:27:00
簡單來說就是請參考大學教的資料結構ArrayList顧名思義就是陣列的演算法做的LinkedList名稱就和資料結構Linked List一樣年輕時面試一家公司 他們的架構師說LinkedList效能好就很想吐他 根本就是依照情況 兩種演算法各有自己快的地方所以九樓說原po的測試不嚴謹就是沒有站在這兩種演算法的角度測試效能
作者: ppc ( )   2022-03-20 20:04:00
推s大

Links booklink

Contact Us: admin [ a t ] ucptt.com