查找和删除顺序表中任一元素的时间复杂度分别是什么? 顺序表中查找操作的时间复杂度是多少?

\u67e5\u627e\u548c\u5220\u9664\u987a\u5e8f\u8868\u4e2d\u4efb\u4e00\u5143\u7d20\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u5206\u522b\u662f\u4ec0\u4e48\uff1f

\u5728\u987a\u5e8f\u8868\u4e2d\u5220\u9664\u4e00\u4e2a\u5143\u7d20\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u4e3aO(n)\uff0c\u5220\u9664\u987a\u5e8f\u8868\u4e2d\u7b2ci\u4e2a\u5143\u7d20\uff0c\u5c06\u987a\u5e8f\u8868\u7b2ci\u4e2a\u5143\u7d20\u4ee5\u540e\u5143\u7d20\u5747\u5411\u524d\u79fb\u52a8\u4e00\u4e2a\u4f4d\u7f6e\u3002\u56e0\u6b64\u65f6\u95f4\u590d\u6742\u5ea6\u4e3aO(n)\u3002
\u91c7\u7528\u987a\u5e8f\u8868\u548c\u5355\u94fe\u8868\u5b58\u50a8\u957f\u5ea6\u4e3an\u7684\u7ebf\u6027\u5e8f\u5217\uff0c\u6839\u636e\u5e8f\u53f7\u67e5\u627e\u5143\u7d20\uff0c\u5176\u65f6\u95f4\u590d\u6742\u5ea6\u5206\u522b\u4e3aO(1)\u3001O(n)\uff0c\u987a\u5e8f\u8868\u5b58\u50a8\u4f4d\u7f6e\u662f\u76f8\u90bb\u8fde\u7eed\u7684\uff0c\u53ef\u4ee5\u968f\u5373\u8bbf\u95ee\u7684\u4e00\u79cd\u6570\u636e\u7ed3\u6784\uff0c\u4e00\u4e2a\u987a\u5e8f\u8868\u5728\u4f7f\u7528\u524d\u5fc5\u987b\u6307\u5b9a\u8d77\u957f\u5ea6\uff0c\u4e00\u65e6\u5206\u914d\u5185\u5b58\uff0c\u5219\u5728\u4f7f\u7528\u4e2d\u4e0d\u53ef\u4ee5\u52a8\u6001\u5730\u66f4\u6539\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u987a\u5e8f\u8868\u5b58\u50a8\u662f\u8bbf\u95ee\u6570\u636e\u662f\u6bd4\u8f83\u65b9\u4fbf\uff0c\u53ef\u4ee5\u968f\u5373\u7684\u8bbf\u95ee\u8868\u4e2d\u7684\u4efb\u4f55\u4e00\u4e2a\u6570\u636e\u3002\u94fe\u8868\u662f\u901a\u8fc7\u6307\u9488\u6765\u63cf\u8ff0\u5143\u7d20\u5173\u7cfb\u7684\u4e00\u79cd\u6570\u636e\u7ed3\u6784\uff0c\u4ed6\u53ef\u4ee5\u662f\u7269\u7406\u5730\u5740\u4e0d\u8fde\u7eed\u7684\u7269\u7406\u7a7a\u95f4\u3002
\u4e0d\u80fd\u968f\u5373\u8bbf\u95ee\u94fe\u8868\u5143\u7d20\uff0c\u5fc5\u987b\u4ece\u8868\u5934\u5f00\u59cb\uff0c\u4e00\u6b65\u4e00\u6b65\u641c\u7d22\u5143\u7d20\u3002\u5b83\u7684\u4f18\u70b9\u662f\uff1a\u5bf9\u4e8e\u6570\u7ec4\uff0c\u53ef\u4ee5\u52a8\u6001\u5730\u6539\u53d8\u6570\u636e\u7684\u957f\u5ea6\uff0c\u5206\u914d\u7269\u7406\u7a7a\u95f4\u3002\u56e0\u6b64\u4e24\u8005\u7684\u67e5\u627e\u590d\u6742\u5ea6\u5c31\u663e\u800c\u6613\u89c1\u4e86\u3002

\u987a\u5e8f\u8868\u4e2d\u67e5\u627e\u64cd\u4f5c\u7684\u5e73\u5747\u65f6\u95f4\u590d\u6742\u5ea6\u662fO(n)\u7684\u3002

在顺序表中删除一个元素的时间复杂度为O(n),删除顺序表中第i个元素,将顺序表第i个元素以后元素均向前移动一个位置。因此时间复杂度为O(n)。

采用顺序表和单链表存储长度为n的线性序列,根据序号查找元素,其时间复杂度分别为O(1)、O(n),顺序表存储位置是相邻连续的,可以随即访问的一种数据结构,一个顺序表在使用前必须指定起长度,一旦分配内存,则在使用中不可以动态地更改。

扩展资料:

顺序表存储是访问数据是比较方便,可以随即的访问表中的任何一个数据。链表是通过指针来描述元素关系的一种数据结构,他可以是物理地址不连续的物理空间。

不能随即访问链表元素,必须从表头开始,一步一步搜索元素。它的优点是:对于数组,可以动态地改变数据的长度,分配物理空间。因此两者的查找复杂度就显而易见了。



  • 閲囩敤椤哄簭鎼滅储鏂规硶鏌ユ壘闀垮害涓簄鐨椤哄簭琛ㄦ椂,鎼滅储鎴愬姛鐨勫钩鍧囨悳绱㈤暱搴︿负澶氬皯...
    绛旓細(1+n)/2 (1+2+3+...+n)/n = (1+n)/2 瀵逛簬浠绘剰涓涓簭鍒椾互鍙婁竴涓粰瀹氱殑鍏冪礌锛屽皢缁欏畾鍏冪礌涓庡簭鍒椾腑鍏冪礌渚濇姣旇緝锛岀洿鍒鎵惧嚭涓缁欏畾鍏抽敭瀛楃浉鍚岀殑鍏冪礌锛屾垨鑰呭皢搴忓垪涓殑鍏冪礌涓庡叾閮芥瘮杈冨畬涓烘銆椤哄簭琛鐨勫瓨鍌ㄧ壒鐐规槸锛氬彧瑕佺‘瀹氫簡璧峰浣嶇疆锛琛ㄤ腑浠讳竴鍏冪礌鐨鍦板潃閮介氳繃涓嬪垪鍏紡寰楀埌锛歀OC锛坅i锛=LOC锛坅1锛...
  • 闀垮害涓篘鐨椤哄簭琛鍦ㄤ换浣曚綅缃笂(娣诲姞)鍒犻櫎涓涓鍏冪礌鐨姒傜巼鐩哥瓑,(娣诲姞)涓...
    绛旓細娣诲姞鍒扮1涓紝绉诲姩N涓紱娣诲姞鍒扮2涓紝绉诲姩(N-1)涓紱鈥︹︽坊鍔犲埌绗琋涓紝绉诲姩1涓紱娣诲姞鍒扮(N+1)涓紝绉诲姩0涓 骞冲潎锛(0+1+2+鈥︹+N)/(N+1)=N/2 鍒犻櫎绗1涓紝绉诲姩(N-1)涓紱鍒犻櫎绗2涓紝绉诲姩(N-2)涓紱鈥︹﹀垹闄ょN涓紝绉诲姩0涓 骞冲潎锛歔0+1+鈥︹+(N-1)]/N=(N-1)/2 ...
  • 闀垮害涓簄鐨椤哄簭琛ㄩ『搴忔煡鎵炬椂,褰撴煡鎵炬垚鍔鏃跺鐨勫钩鍧囨煡鎵鹃暱搴︿负澶氬皯,涓...
    绛旓細鑻ュ澶у皬涓篘鐨勬湁搴椤哄簭琛杩涜椤哄簭鏌ユ壘锛屽綋鏌ユ壘涓嶆垚鍔熸椂锛屽钩鍧囨煡鎵鹃暱搴︿负 59)锛涘綋鏌ユ壘鎴愬姛涓琛ㄤ腑浠呮湁涓涓叧閿瓧绛変簬娆鏌ユ壘鐨勫厓绱犳椂锛屽钩鍧囨煡鎵鹃暱搴︿负 60 銆傜敱浜庤绠楀钩鍧囨煡鎵鹃暱搴︽槸浠ユ渶鍧忓彲鑳芥ц冭檻,鏁呬粠绗竴涓妭鐐瑰紑濮嬫瘮杈冨埌灏捐妭鐐癸紝闇瑕佹瘮杈僴娆★紝鏌ユ壘闀垮害n锛涗粠绗簩涓妭鐐瑰紑濮嬫瘮杈冨埌灏捐妭鐐,闇瑕佹瘮杈僴-...
  • SJTU 銆婄畻娉曡璁′笌鍒嗘瀽銆嬪鑰冮
    绛旓細a. (n+1)/2 b. n/2 c. (n-1)/2 d. n 3銆侀噰鐢ㄤ簩鍒鏌ユ壘鏂规硶鏌ユ壘闀垮害涓簄鐨勭嚎鎬琛ㄦ椂,姣忎釜鍏冪礌鐨骞冲潎鏌ユ壘闀垮害涓( )銆 a. O(log2n) b. O(n2) c. O(n) d. O(nlog2n) 4銆佽椤哄簭绾挎ц〃涓湁n涓暟鎹厓绱,鍒鍒犻櫎琛ㄤ腑绗琲涓厓绱犻渶鍚戝墠绉诲姩( )涓厓绱犮 a. n-1-i b. n-i c. i...
  • ...骞跺湪琛ㄥ熬鍔犲叆鍜屽垹闄ゅ厓绱,鍒欓傚疁閲囩敤( )瀛樺偍銆
    绛旓細銆愮瓟妗堛戯細A 閲囩敤椤哄簭琛锛堝嵆鏁扮粍锛夛紝鍙互浠绘剰璁块棶鎸囧畾搴忓彿鍏冪礌锛屼究浜庡湪琛ㄥ熬鍔犲叆鍜屽垹闄ゅ厓绱锛屼絾涓嶄究浜庡湪琛ㄥご鎻掑叆鍜屽垹闄ゅ厓绱狅紝鍦ㄨ〃澶存搷浣滄椂闇瑕佺Щ鍔ㄥぇ閲忓厓绱犮傝娉ㄦ剰鏄紝棰樼洰涓姹傚湪琛ㄥ熬鍔犲叆鍜屽垹闄ゅ厓绱狅紝鑰屼笉鏄湪琛ㄥご鎿嶄綔锛屽洜姝ら傚疁閲囩敤椤哄簭琛ㄣ傞噰鐢ㄩ摼琛ㄦ彃鍏ャ佸垹闄ゅ厓绱犺緝涓烘柟渚匡紝浣嗘槸璁块棶鎸囧畾搴忓彿鍏冪礌杈冧负楹荤儲...
  • 鑻ョ嚎鎬ц〃閲囩敤閾惧紡瀛樺偍缁撴瀯,鍒欓傜敤鐨鏌ユ壘鏂规硶涓 (70) 銆
    绛旓細銆愮瓟妗堛戯細A 闅忔満鏌ユ壘琛ㄤ腑鍏冪礌鏃锛岃闂琛ㄤ腑浠讳竴鍏冪礌鎵闇鏃堕棿涓庡厓绱犵殑浣嶇疆鍜屾帓鍒楁搴忔棤鍏炽備互鏁e垪鏂瑰紡瀛樺偍鍜屾煡鎵炬暟鎹椂锛屽厓绱犵殑瀛樺偍浣嶇疆涓庡叾鍏抽敭瀛楃浉鍏炽備簩鍒嗘硶鏌ユ壘鍙兘鍦ㄦ湁搴椤哄簭琛ㄤ腑杩涜銆傜敱浜庨摼琛ㄤ腑鐨勫厓绱犲彧鑳介氳繃鍙栧緱鍏冪礌鎵鍦ㄧ殑鑺傜偣鐨勬寚閽堣繘琛岋紝鍥犳鍙兘椤哄簭鏌ユ壘琛ㄤ腑鐨勫厓绱犮
  • 鏁版嵁缁撴瀯:鏈夊簭琛鍜岄『搴忚〃涓嶄竴鏍峰悧?
    绛旓細涓嶄竴鏍枫傛湁搴忚〃涓殑鈥滄湁搴忊濇槸閫昏緫鎰忎箟涓婄殑鏈夊簭锛屾寚琛ㄤ腑鐨勫厓绱鎸夋煇绉嶈鍒欏凡缁忔帓濂戒簡浣嶇疆銆椤哄簭琛ㄤ腑鐨鈥滈『搴忊濇槸鐗╃悊鎰忎箟涓婄殑锛屾寚绾垮舰琛ㄤ腑鐨勫厓绱犱竴涓帴涓涓殑瀛樺偍鍦ㄤ竴鐗囩浉閭荤殑瀛樺偍鍖哄煙涓紝鏈鍏稿瀷鐨勪緥瀛愬氨鏄暟缁勩傚彲浠ヨ繖鏍锋弿杩帮細涓涓『搴忚〃绀虹殑浜屽弶鏍戯紝鎴栦竴涓摼鎺ヨ〃绀虹殑浜屽弶鏍戯紱涓涓棤搴忕殑绾挎ц〃...
  • 椤哄簭琛ㄤ笌閾捐〃
    绛旓細姣忎釜缁撶偣鍖呮嫭涓や釜閮ㄥ垎锛氫竴涓槸瀛樺偍[鏁版嵁鍏冪礌]鐨勬暟鎹煙锛屽彟涓涓槸瀛樺偍涓嬩竴涓粨鐐瑰湴鍧鐨刐鎸囬拡]鍩熴 鐩告瘮浜嶽绾挎ц〃][椤哄簭缁撴瀯]锛屾搷浣滃鏉傘傜壒鐐癸細锛1锛夊彲浠ユ柟渚跨殑杩涜鎵╁厖銆傦紙2锛夊彲浠ユ柟渚跨殑鍒犻櫎鍜屾彃鍏ャ傜敱浜椤哄簭琛锛1锛夊湪琛ㄤ腑鎻掑叆鏂板厓绱犳垨鍒犻櫎鏃犵敤鍏冪礌鏃锛屼负浜嗕繚鎸佸叾浠鍏冪礌鐨鐩稿娆″簭涓嶅彉锛屽钩鍧囬渶瑕佺Щ鍔...
  • 椤哄簭琛銆侀摼琛ㄥ拰鏍堟湁浠涔堝尯鍒拰鑱旂郴?
    绛旓細椤哄簭琛ㄣ侀摼琛ㄥ拰鏍堥兘鏄暟鎹粨鏋勪腑甯歌鐨勫瓨鍌ㄥ拰缁勭粐鏁版嵁鐨勬柟寮忥紝瀹冧滑涔嬮棿鏈変竴浜涘尯鍒拰鑱旂郴銆1. 椤哄簭琛紙Array锛夛細瀛樺偍鏂瑰紡锛 浣跨敤涓鍧楄繛缁殑鍐呭瓨绌洪棿鏉ュ瓨鍌鍏冪礌銆傛彃鍏鍜屽垹闄鎿嶄綔锛 鎻掑叆鍜屽垹闄ゆ搷浣滃彲鑳介渶瑕佺Щ鍔ㄥ叾浠栧厓绱犱互淇濇寔椤哄簭琛ㄧ殑杩炵画鎬с傞殢鏈鸿闂細 鍙互閫氳繃绱㈠紩鐩存帴璁块棶浠讳綍浣嶇疆鐨勫厓绱狅紝鍏锋湁甯告暟鏃堕棿鐨勯殢鏈...
  • 鏁版嵁缁撴瀯:璁捐涓涓珮鏁堢畻娉,灏椤哄簭琛ㄤ腑鐨鎵鏈鍏冪礌閫嗙疆,瑕佹眰绠楁硶绌洪棿...
    绛旓細1)鎵弿椤哄簭琛L鐨勫墠鍗婇儴鍒嗗厓绱燣.data[i] (0<=i<L.length/2)锛屽皢鍏朵笌鍚庡崐閮ㄥ垎鐨勫搴斿厓绱燣.data[L.length-1-i]杩涜浜ゆ崲鍗冲彲銆傞『搴忚〃鐨勫瓨鍌ㄥ彧瑕佺‘瀹氫簡璧峰浣嶇疆锛琛ㄤ腑浠讳竴鍏冪礌鐨鍦板潃閮介氳繃涓嬪垪鍏紡寰楀埌锛歀OC锛坅i锛=LOC锛坅1锛+锛坕-1锛*L 銆1鈮鈮 鍏朵腑锛孡鏄厓绱犲崰鐢ㄥ瓨鍌ㄥ崟鍏冪殑闀垮害銆
  • 扩展阅读:入场顺序一览表 ... 在顺序表中取出第i个元素 ... 在一个长度为n的顺序表中 ... 顺序表第i个位置删除 ... 一键查出已删除我的人 ... 链表可以随机存取任一元素 ... 删除栈里第i个元素 ... 顺序表删除算法思想 ... 一键查出已删除自己的好友 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网