在一个长度为n的顺序表中删除第i个元素时,需向前移动多少个元素。 在一个长度为n的顺序表中删除第i个元素时,需向前移动 多少个...

\u5728\u4e00\u4e2a\u957f\u5ea6\u4e3an\u7684\u987a\u5e8f\u8868\u4e2d\u5220\u9664\u7b2ci\u4e2a\u5143\u7d20\u65f6\uff0c\u9700\u5411\u524d\u79fb\u52a8\u591a\u5c11\u4e2a\u5143\u7d20

\u9700\u5411\u524d\u79fb\u52a8n-i\u4e2a\u5143\u7d20\u3002
\u5728\u4e00\u4e2a\u957f\u5ea6\u4e3an\u7684\u987a\u5e8f\u8868\u4e2d\uff0c\u5220\u9664\u4e00\u4e2a\u5143\u7d20\u65f6\uff0c\u6709n\u4e2a\u4f4d\u7f6e\u53ef\u4f9b\u9009\u62e9\u3002\u9700\u8981\u6539\u53d8\u4ece\u7b2c i+1\u4e2a\u5143\u7d20\u8d77\u5230\u7b2cn\u4e2a\u5143\u7d20\u7684\u5b58\u50a8\u4f4d\u7f6e\uff0c\u5373\u8fdb\u884c\u201c\u4ece\u7b2ci+1\u5230\u7b2cn\u4e2a\u5143\u7d20\u5f80\u524d\u79fb\u52a8\u4e00\u4e2a\u4f4d\u7f6e\u201d\uff0c\u5171\u9700\u79fb\u52a8n-i\u4e2a\u5143\u7d20\u3002
\u53ea\u8981\u786e\u5b9a\u4e86\u8d77\u59cb\u4f4d\u7f6e\uff0c\u8868\u4e2d\u4efb\u4e00\u5143\u7d20\u7684\u5730\u5740\u90fd\u901a\u8fc7\u4e0b\u5217\u516c\u5f0f\u5f97\u5230\uff1aLOC\uff08ai\uff09=LOC\uff08a1\uff09+\uff08i-1\uff09*L \u30001\u2264i\u2264n \u5176\u4e2d\uff0cL\u662f\u5143\u7d20\u5360\u7528\u5b58\u50a8\u5355\u5143\u7684\u957f\u5ea6\u3002



\u6269\u5c55\u8d44\u6599\uff1a
\u5982\u987a\u5e8f\u8868\u7684\u6bcf\u4e2a\u7ed3\u70b9\u5360\u7528len\u4e2a\u5185\u5b58\u5355\u5143\uff0c\u7528location (ki)\u8868\u793a\u987a\u5e8f\u8868\u4e2d\u7b2ci\u4e2a\u7ed3\u70b9ki\u6240\u5360\u5185\u5b58\u7a7a\u95f4\u7684\u7b2c1\u4e2a\u5355\u5143\u7684\u5730\u5740\u3002\u5219\u6709\u5982\u4e0b\u7684\u5173\u7cfb:location (ki+1) = location (ki) +len
location (ki) = location(k1) + (i-1)len
\u5b58\u50a8\u7ed3\u6784\u8981\u4f53\u73b0\u6570\u636e\u7684\u903b\u8f91\u7ed3\u6784\uff0c\u987a\u5e8f\u8868\u7684\u5b58\u50a8\u7ed3\u6784\u4e2d\uff0c\u5185\u5b58\u4e2d\u7269\u7406\u5730\u5740\u76f8\u90bb\u7684\u7ed3\u70b9\u4e00\u5b9a\u5177\u6709\u987a\u5e8f\u8868\u4e2d\u7684\u903b\u8f91\u5173\u7cfb\u3002
\u5224\u65ad\u662f\u5426\u4e3a\u7a7a\u8868
Status ListEmpty(SqList L)
{ // \u521d\u59cb\u6761\u4ef6\uff1a\u987a\u5e8f\u7ebf\u6027\u8868L\u5df2\u5b58\u5728\u3002\u64cd\u4f5c\u7ed3\u679c\uff1a\u82e5L\u4e3a\u7a7a\u8868\uff0c\u5219\u8fd4\u56deTRUE\uff0c\u5426\u5219\u8fd4\u56deFALSE
if(L.length==0)
return TRUE;
else
return FALSE;
}

\u9700\u5411\u524d\u79fb\u52a8n-i\u4e2a\u5143\u7d20\u3002\u8fd9\u4e2ai\u7684\u8303\u56f4\u5e94\u5f53\u662f1\u2264i\u2264n+1\uff0c\u662f\u5411\u540e\u79fb\u52a8\u3002
\u540e\u9762\u7684\u5143\u7d20ai+1~an\u90fd\u8981\u5411\u4e0a\u79fb\u52a8\u4e00\u4e2a\u4f4d\u7f6e\u3002
\u5982\u987a\u5e8f\u8868\u7684\u6bcf\u4e2a\u7ed3\u70b9\u5360\u7528len\u4e2a\u5185\u5b58\u5355\u5143\uff0c\u7528location (ki)\u8868\u793a\u987a\u5e8f\u8868\u4e2d\u7b2ci\u4e2a\u7ed3\u70b9ki\u6240\u5360\u5185\u5b58\u7a7a\u95f4\u7684\u7b2c1\u4e2a\u5355\u5143\u7684\u5730\u5740\u3002\u5219\u6709\u5982\u4e0b\u7684\u5173\u7cfb:location (ki+1) = location (ki) +len\u3002


\u6269\u5c55\u8d44\u6599\uff1a
\u63d2\u5165\u6216\u5220\u9664\u4e00\u4e2a\u5143\u7d20\uff0c\u9700\u8981\u79fb\u52a8\u7684\u662f\u63d2\u5165\u6216\u5220\u9664\u5143\u7d20\u540e\u9762\u7684\u5143\u7d20\u3002
\u7531\u4e8e\u987a\u5e8f\u8868\u7684\u5b58\u50a8\u7279\u70b9\u662f\uff1a\u53ea\u8981\u786e\u5b9a\u4e86\u8d77\u59cb\u4f4d\u7f6e\uff0c\u8868\u4e2d\u4efb\u4e00\u5143\u7d20\u7684\u5730\u5740\u90fd\u901a\u8fc7\u4e0b\u5217\u516c\u5f0f\u5f97\u5230\uff1aLOC\uff08ai\uff09=LOC\uff08a1\uff09+\uff08i-1\uff09*L \u30001\u2264i\u2264n \u5176\u4e2d\uff0cL\u662f\u5143\u7d20\u5360\u7528\u5b58\u50a8\u5355\u5143\u7684\u957f\u5ea6\u3002
\u6240\u4ee5\u786e\u5b9a\u4e86\u63d2\u5165\u6216\u5220\u9664\u5143\u7d20\u7684\u4f4d\u7f6e\u540e\uff0c\u4fbf\u53ef\u7b97\u51fa\u9700\u8981\u79fb\u52a8\u7684\u5143\u7d20\u4e2a\u6570\u3002

在一个长度为n的顺序表中删除第i个元素时,需向前移动n-i个元素。

将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。

顺序表的存储特点是只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L  1≤i≤n 其中,L是元素占用存储单元的长度。



扩展资料:

如顺序表的每个结点占用len个内存单元,用location (ki)表示顺序表中第i个结点ki所占内存空间的第1个单元的地址。则有如下的关系:

location (ki+1) = location (ki) +len

location (ki) = location(k1) + (i-1)len

存储结构要体现数据的逻辑结构,顺序表的存储结构中,内存中物理地址相邻的结点一定具有顺序表中的逻辑关系。



肯定是n-i啊,你就假设最后一个吧,i=n时,是不是不需要移动?那不就是n-n了嘛!!
有的人为什么说是n-i-1呢,那是因为此时i是用于循环的,当i=0时,代表第一个元素!此时你同样删除最后一个,那么i=n-1,所以移动次数为n-i-1,是不是也等于0啊?对不?

需向前移动n-i个元素。
假设需要移动x个元素;顺序元素总数为n;i之前的元素不需移动,不需移动的元素数量为i-1;顺序表去掉i元素,去掉的元素数量为1。
故而x=n-(i-1)-1
经计算x=n-i

可以举个例子:
假设 为: 0 1 2 3 4 五个数,删除第三个元素,也就是2,需要向前移动3,4两个元素。
也就是5-3个。
所以n-i是对的。

两个都是对的,看你的条件是什么。如果0≤i≤n-1,那答案就是n-i-1。如果1≤i≤n,答案就是n-i

  • 鍒犻櫎绗竴涓鍏冪礌,闇瑕佸悜鍚庣Щ鍔ㄥ嚑涓厓绱
    绛旓細鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓紝鍒犻櫎绗琲(1鈮鈮)涓厓绱犳椂锛岄渶瑕佺Щ鍔ㄧ殑鍏冪礌涓暟涓簄-i銆傚垎鏋愶細鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓紝鍒犻櫎涓涓厓绱犳椂锛屾湁n涓綅缃彲渚涢夋嫨銆傞渶瑕佹敼鍙樹粠绗 i+1涓厓绱犺捣鍒扮n涓厓绱犵殑瀛樺偍浣嶇疆锛屽嵆杩涜鈥滀粠绗琲+1鍒扮n涓厓绱犲線鍓嶇Щ鍔ㄤ竴涓綅缃濓紝鍏遍渶绉诲姩n-i涓厓绱犮
  • 鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓垹闄ょi涓厓绱(1鈮鈮)鏃,闇鍚戝墠绉诲姩( )涓...
    绛旓細闇瑕佸皢ai+1锝瀉n鍏冪礌鍓嶇Щ涓浣嶏紝鍏辩Щ鍔n-(i+1)+1=n-i涓厓绱犮
  • 鍦闀垮害涓簄鐨勯『搴忚〃涓垹闄ょi涓厓绱
    绛旓細鍦ㄩ暱搴︿负n鐨勯『搴忚〃涓垹闄ょi涓厓绱犱负n-i銆傛嫇灞曠煡璇:1銆侀『搴忚〃 椤哄簭琛ㄦ槸鍦ㄨ绠楁満鍐呭瓨涓互鏁扮粍鐨勫舰寮忎繚瀛樼殑绾挎ц〃銆傜嚎鎬ц〃鐨勯『搴忓瓨鍌ㄦ槸鎸囩敤涓缁勫湴鍧杩炵画鐨勫瓨鍌ㄥ崟鍏冧緷娆″瓨鍌ㄧ嚎鎬ц〃涓殑鍚勪釜鍏冪礌銆佷娇寰楃嚎鎬ц〃涓湪閫昏緫缁撴瀯涓婄浉閭荤殑鏁版嵁鍏冪礌瀛樺偍鍦ㄧ浉閭荤殑鐗╃悊瀛樺偍鍗曞厓涓傚嵆閫氳繃鏁版嵁鍏冪礌鐗╃悊瀛樺偍鐨勭浉閭诲叧绯绘潵鍙嶆槧...
  • 鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓垹闄ょi涓厓绱犳椂,闇鍚戝墠绉诲姩澶氬皯涓厓绱
    绛旓細鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓紝鍒犻櫎涓涓厓绱犳椂锛屾湁n涓綅缃彲渚涢夋嫨銆傞渶瑕佹敼鍙樹粠绗 i+1涓厓绱犺捣鍒扮n涓厓绱犵殑瀛樺偍浣嶇疆锛屽嵆杩涜鈥滀粠绗琲+1鍒扮n涓厓绱犲線鍓嶇Щ鍔ㄤ竴涓綅缃濓紝鍏遍渶绉诲姩n-i涓厓绱犮傚彧瑕佺‘瀹氫簡璧峰浣嶇疆锛岃〃涓换涓鍏冪礌鐨勫湴鍧閮介氳繃涓嬪垪鍏紡寰楀埌锛歀OC锛坅i锛=LOC锛坅1锛+锛坕-1锛*L 銆1鈮...
  • 鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓垹闄ょi涓厓绱犳椂,闇鍚戝墠绉诲姩 澶氬皯涓厓绱犮
    绛旓細闇鍚戝墠绉诲姩n-i涓厓绱犮傝繖涓猧鐨勮寖鍥村簲褰撴槸1鈮鈮+1锛屾槸鍚戝悗绉诲姩銆傚悗闈㈢殑鍏冪礌ai+1~an閮借鍚戜笂绉诲姩涓涓綅缃傚椤哄簭琛ㄧ殑姣忎釜缁撶偣鍗犵敤len涓唴瀛樺崟鍏冿紝鐢╨ocation (ki)琛ㄧず椤哄簭琛ㄤ腑绗i涓粨鐐筴i鎵鍗犲唴瀛樼┖闂鐨勭1涓鍗曞厓鐨勫湴鍧銆傚垯鏈夊涓嬬殑鍏崇郴:location (ki+1) = location (ki) +len銆
  • 鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓垹闄ょi涓厓绱犳椂,闇鍚戝墠绉诲姩澶氬皯涓厓绱
    绛旓細A.鍒犻櫎绗i涓厓绱犳椂锛屽悗闈㈢殑鍏冪礌ai+1~an閮借鍚戜笂绉诲姩涓涓綅缃紝鍏辩Щ鍔ㄤ簡n-i涓厓绱
  • 鍦ㄤ竴涓暱搴︿负n鐨勯『搴忚〃涓
    绛旓細宸茬煡椤哄簭琛锛坅1,a2,...,an)1.鍦ㄧi锛坕=1...n+1)涓厓绱犱箣鍓嶆彃鍏ヤ竴涓厓绱犵殑姒傜巼pi涓1/(n+1),鏁鍦ㄩ暱搴︿负n鐨鎻掑叆涓涓厓绱犳椂鎵璁哥Щ鍔ㄥ厓绱犳鏁扮殑鏈熸湜涓猴細Ei=鈭憄i(n-i+1) ,i=1...n+1 鎵浠 Ei=n/2 2.鍒犻櫎绗i锛坕=1...n)涓厓绱犵殑姒傜巼pi涓1/n,鏁呭湪闀垮害涓簄鐨勫垹闄や竴涓厓绱...
  • 銆婃暟鎹粨鏋勩嬪悤浜戠繑缂栬憲绗2绔犵嚎鎬ц〃涔犻瑙g瓟
    绛旓細A.nB.n/2C.(n+1)/2D.(n-1)/24锛鍦ㄤ竴涓暱搴︿负n鐨绾挎琛ㄤ腑锛鍒犻櫎鍊间负x鐨勫厓绱犳椂闇瑕佹瘮杈冨厓绱犲拰绉诲姩鍏冪礌鐨勬绘鏁颁负(C)銆侫.(n+1)/2B.n/2C.nD.n+15.鍦ㄤ竴涓椤哄簭琛鐨勮〃灏炬彃鍏ヤ竴涓厓绱犵殑鏃堕棿澶嶆潅搴︿负(B)銆侫.O(n)B.O(1)C.O(n*n)D.O(log2n)6.鑻ヤ竴涓粨鐐圭殑寮曠敤涓簆锛屽畠鐨...
  • 鏌ユ壘鍜鍒犻櫎椤哄簭琛ㄤ腑浠讳竴鍏冪礌鐨勬椂闂村鏉傚害鍒嗗埆鏄浠涔?
    绛旓細鍦椤哄簭琛ㄤ腑鍒犻櫎涓涓鍏冪礌鐨勬椂闂村鏉傚害涓篛(n)锛屽垹闄ら『搴忚〃涓i涓厓绱狅紝灏嗛『搴忚〃绗琲涓厓绱犱互鍚庡厓绱犲潎鍚戝墠绉诲姩涓涓綅缃傚洜姝ゆ椂闂村鏉傚害涓篛(n)銆傞噰鐢ㄩ『搴忚〃鍜屽崟閾捐〃瀛樺偍闀垮害涓簄鐨绾挎у簭鍒楋紝鏍规嵁搴忓彿鏌ユ壘鍏冪礌锛屽叾鏃堕棿澶嶆潅搴﹀垎鍒负O(1)銆丱(n)锛岄『搴忚〃瀛樺偍浣嶇疆鏄浉閭昏繛缁殑锛屽彲浠ラ殢鍗宠闂殑涓绉嶆暟鎹粨鏋...
  • 闀垮害涓篘鐨勯『搴忚〃鍦ㄤ换浣曚綅缃笂(娣诲姞)鍒犻櫎涓涓鍏冪礌鐨勬鐜囩浉绛,(娣诲姞)涓...
    绛旓細娣诲姞鍒扮1涓紝绉诲姩N涓紱娣诲姞鍒扮2涓紝绉诲姩(N-1)涓紱鈥︹︽坊鍔犲埌绗琋涓紝绉诲姩1涓紱娣诲姞鍒扮(N+1)涓紝绉诲姩0涓 骞冲潎锛(0+1+2+鈥︹+N)/(N+1)=N/2 鍒犻櫎绗1涓锛岀Щ鍔(N-1)涓紱鍒犻櫎绗2涓紝绉诲姩(N-2)涓紱鈥︹鍒犻櫎绗琋涓紝绉诲姩0涓 骞冲潎锛歔0+1+鈥︹+(N-1)]/N=(N-1)/2 ...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网