①arraylist和linkedlist可想從名字分析,它們乙個是array(動態陣列)的資料結構,乙個是link(鍊錶)的資料結構,此外,它們兩個都是對list介面的實現。
前者是陣列佇列,相當於動態陣列;
後者為雙向鍊錶結構,也可當作堆疊、佇列、雙端佇列
②當隨機訪問list時(get和set操作),arraylist比linkedlist的效率更高,因為linkedlist是線性的資料儲存方式,所以需要移動指標從前往後依次查詢。
③當對資料進行增加和刪除的操作時(add和remove操作),linkedlist比arraylist的效率更高,因為arraylist是陣列,所以在其中進行增刪操作時,會對操作點之後所有資料的下標索引造成影響,需要進行資料的移動。
④從利用效率來看
arraylist自由性較低,因為它需要手動的設定固定大小的容量,但是它的使用比較方便,只需要建立,然後新增資料,通過呼叫下標進行使用;
而linkedlist自由性較高,能夠動態的隨資料量的變化而變化,但是它不便於使用。
⑤arraylist主要控制項開銷在於需要在llist列表預留一定空間;而linklist主要控制項開銷在於需要儲存結點資訊以及結點指標資訊。
場景:鍊錶,插入刪除快,查詢修改慢。 適用於頻繁增刪的場景。
陣列,查詢快,插入刪除慢。 適用於頻繁查詢和修改的場景。
Python 每日一練 7
coding utf 8 author konmu 密碼是如何加密後儲存起來的呢?請使用 python 對密碼加密。import hashlib from hmac import hmac import random def passwd encrypt password,salt none if ...
每日一練(Day7)
children 取得匹配元素的子元素集合 next 取得匹配元素後面緊鄰的同輩元素 prev 去得匹配元素前面緊鄰的同輩元素 siblings 取得匹配元素前後的所有同輩元素 closest 取得最近匹配元素 find 取得匹配元素中的元素集合,包括直接子元素和後代元素 原子性 字段不可分,否則就...
每日一練4
員工表emp 員工編號eid,姓名ename,工作職位title,僱傭日期hiretime,工資salary,獎金bonus,部門depart 部門表dept 部門編號did,名稱dname,部門領導leader 員工資料 1001,張三 銷售 1999 12 1 3000.0,1100.0,102...