数据结构:设计一个高效算法,将顺序表中的所有元素逆置,要求算法空间复杂度为O(1)。 高悬赏!! 已知顺序表中L中的元素int,请写一时间复杂度0...

\u8bbe\u8ba1\u4e00\u4e2a\u9ad8\u6548\u7b97\u6cd5,\u5220\u9664\u7ebf\u6027\u8868\u4e2d\u6240\u6709\u503c\u4e3ax\u7684\u5143\u7d20\uff08\u8981\u6c42\u65f6\u95f4\u590d\u6742\u5ea6\u4e3aO\uff08n),\u7a7a\u95f4\u590d\u6742\u5ea6\u4e3aS\uff081\uff09

\u5bf9\u7740\u81ea\u5df1\u7684\u6570\u636e\u7c7b\u578b\u505a\u76f8\u5e94\u5730\u4fee\u6539\uff1a
void Delete(SeqList L, DataType x)
{// \u987a\u5e8f\u8868\u7684\u5220\u9664\u7b97\u6cd5
int i = 0, j;
for (j = 0; j length; j ++)
if (L->data[j] != x)
{
if (i < j)
L->data[i] = L->data[j];
i ++;
}
L->length = i;
}


void Delete_List(LinkList head, DataType x)
{// \u6709\u5934\u7ed3\u70b9\u5355\u94fe\u8868\u7684\u5220\u9664\u7b97\u6cd5
Node *p, *q, *s;
p = head->next;
q = head;
while (p != NULL)
{
if (p->data != x)
q = p;
else
{
s = p;
q->next = s->next;
free(s);
}
p = q->next;
}
}

\u65f6\u95f4\u590d\u6742\u5ea6\u4e3aO(n)\u3001\u7a7a\u95f4\u590d\u6742\u5ea6\u4e3aO(1)? \u90a3\u5c31\u4e00\u4e2a\u4e00\u4e2a\u53bb\u6bd4\u8f83\u662f\u4e0d\u662fitem\u503c\uff0c \u5047\u8bbe \u7b2cm\u5230\u7b2cn\u4e2a \u662fitem \u503c\uff0c\u90a3\u5c31 \u628a\u7b2cn+1\u4e2a\u5143\u7d20\u66ff\u6362\u7b2cm\u4e2a\uff0c\u4f9d\u6b21\u4e0b\u53bb6802

数据结构的高效算法:for(int i = 0; i < array.length / 2; i++) {swap(array[i], array[array.length - i - 1])}

只有swap函数需要一个字节的内存,所以空间复杂度O(1)。



  • 鏁版嵁缁撴瀯:璁捐涓涓珮鏁堢畻娉,灏椤哄簭琛ㄤ腑鐨勬墍鏈夊厓绱犻嗙疆,瑕佹眰绠楁硶绌洪棿...
    绛旓細鏁版嵁缁撴瀯鐨勯珮鏁堢畻娉曪細for(int i = 0; i < array.length / 2; i++) {swap(array[i], array[array.length - i - 1])} 鍙湁swap鍑芥暟闇瑕佷竴涓瓧鑺傜殑鍐呭瓨锛屾墍浠ョ┖闂村鏉傚害O锛1锛夈傛暟鎹粨鏋勬槸璁$畻鏈哄瓨鍌ㄣ佺粍缁囨暟鎹殑鏂瑰紡銆傛暟鎹粨鏋勬槸鎸囩浉浜掍箣闂村瓨鍦ㄤ竴绉嶆垨澶氱鐗瑰畾鍏崇郴鐨勬暟鎹厓绱犵殑闆嗗悎銆傞氬父鎯呭喌...
  • 鏁版嵁缁撴瀯:璁捐涓涓珮鏁堢畻娉,灏椤哄簭琛ㄤ腑鐨勬墍鏈夊厓绱犻嗙疆,瑕佹眰绠楁硶绌洪棿...
    绛旓細璁捐涓涓珮鏁堢畻娉曪紝灏椤哄簭琛ㄤ腑鐨勬墍鏈夊厓绱犻嗙疆锛岃姹傜畻娉曠┖闂村鏉傚害涓篛(1)鎵弿椤哄簭琛↙鐨勫墠鍗婇儴鍒嗗厓绱燣.data[i] (0<=i<L.length/2)锛屽皢鍏朵笌鍚庡崐閮ㄥ垎鐨勫搴斿厓绱燣.data[L.length-1-i]杩涜浜ゆ崲鍗冲彲銆傞『搴忚〃鐨勫瓨鍌ㄥ彧瑕佺‘瀹氫簡璧峰浣嶇疆锛岃〃涓换涓鍏冪礌鐨勫湴鍧閮介氳繃涓嬪垪鍏紡寰楀埌锛歀OC锛坅i锛=LOC锛坅1锛...
  • 璁捐涓涓珮鏁堢畻娉,鍒犻櫎绾挎ц〃涓墍鏈夊间负x鐨勫厓绱(瑕佹眰鏃堕棿澶嶆潅搴︿负O(n...
    绛旓細void Delete(SeqList L, DataType x){// 椤哄簭琛ㄧ殑鍒犻櫎绠楁硶 int i = 0, j;for (j = 0; j < L->length; j ++)if (L->data[j] != x){ if (i < j)L->data[i] = L->data[j];i ++;} L->length = i;} void Delete_List(LinkList head, DataType x){// 鏈夊ご...
  • 鏁版嵁缁撴瀯 璁捐楂樻晥绠楁硶闂
    绛旓細// 瑕佹眰鏄垹闄ら『搴忚〃涓湪鑼冨洿[x, y]鍐呯殑鍏冪礌銆// 鎸夊父瑙勬濊矾锛屾瘡鍒犻櫎涓涓椤哄簭琛ㄥ厓绱狅紝鍒欒灏嗗叾鍚庣殑鍏冪礌鏁翠綋鍓嶇Щ涓涓綅缃傝繖绉绠楁硶鐢ㄥ埌浜嗗弻閲峟or寰幆锛屾椂闂村鏉傚害涓篛(n^2)銆// 浠ヤ笅鐨勭畻娉曞彧鐢ㄥ埌浜嗗崟閲峟or寰幆锛屾椂闂村鏉傚害涓篛(n)銆傚師鐞嗘槸鎶婃墍鏈変笉鍦ㄨ寖鍥碵x, y]鍐呯殑鍏冪礌渚濇淇濆瓨鍒伴『搴忚〃鐨...
  • 杈撳叆涓涓闀垮害涓簄鐨勫瓧绗︿覆,鎵撳嵃鍑烘墍鏈夎瀛楃涓茬殑鎺掑垪缁勫悎銆傚摢浣嶅ぇ浣兘...
    绛旓細鏈枃鎴戜滑涓昏瑙e喅C/C++鍥炴枃闂锛氬浜庝竴涓瓧绗︿覆锛璁捐涓涓珮鏁堢畻娉曪紝璁$畻鍏朵腑鏈闀垮洖鏂囧瓙涓茬殑闀垮害銆傜粰瀹氬瓧绗︿覆A浠ュ強瀹冪殑闀垮害n锛岃杩斿洖鏈闀垮洖鏂囧瓙涓茬殑闀垮害銆傛瘮濡傦細杈撳叆瀛楃涓"123456789asdfgfdsa9876543210"锛屾垜浠绠楀嚭鍏舵渶澶у洖鏂囬暱搴︿负14.鍏蜂綋鐨勪唬鐮佸強鍏舵敞閲婂涓嬶細int getLongestPalindrome(String A, int n)...
  • 璇璁捐涓涓灏藉彲鑳楂樻晥鐨绠楁硶,鏌ユ壘閾捐〃涓掓暟绗琸涓綅缃笂鐨勭粨鐐(k涓...
    绛旓細缁欏嚭绠楁硶濡備笅:void LocateElement(LNode *head,int k){ LNode *p1=head->next,*p=head;int i=1;while(p1){ p1=p1->next;++i;if(i>=k) p=p->next;} if(p==head) return 0;else{ cout<data<<endl;return 1;} }
  • 杈撳叆x,y,z涓変釜涓嶇浉绛夌殑鏁存暟,璁捐涓涓鈥楂樻晥鈥濈殑绠楁硶,浣垮緱杩欎笁涓暟浠庡皬...
    绛旓細void main(){ int a,b,c,t;printf("input a,b,c\n");scanf("%d,%d,%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("%d,%d,%d",a,b,c);} 杈撳叆鏃 鍦╥nput a锛宐锛宑涓嬩竴琛岃緭鍏 濡 input a...
  • ...閫掑鏈夊簭鎺掑垪,骞朵互鍗曢摼琛ㄤ綔瀛樺偍缁撴瀯.鍐涓楂樻晥绠楁硶,鍒犻櫎
    绛旓細1銆丆璇█鏄竴闂ㄩ氱敤璁$畻鏈虹紪绋嬭瑷锛屽簲鐢ㄥ箍娉涖2銆丆璇█鐨璁捐鐩爣鏄彁渚涗竴绉嶈兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆佷骇鐢熷皯閲忕殑鏈哄櫒鐮佷互鍙婁笉闇瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑缂栫▼璇█銆3銆佸敖绠璇█鎻愪緵浜嗚澶氫綆绾у鐞嗙殑鍔熻兘锛屼絾浠嶇劧淇濇寔鐫鑹ソ璺ㄥ钩鍙扮殑鐗规э紝浠涓涓鏍囧噯瑙勬牸鍐欏嚭鐨凜璇█绋嬪簭鍙湪璁稿鐢佃剳骞冲彴涓...
  • 鏁版嵁缁撴瀯
    绛旓細琛ㄥ拰鏍戞槸鏈甯哥敤鐨勪袱绉楂樻晥鏁版嵁缁撴瀯锛璁稿楂樻晥鐨绠楁硶鍙互鐢ㄨ繖涓ょ鏁版嵁缁撴瀯鏉璁捐瀹炵幇銆傝〃鏄嚎鎬х粨鏋勭殑锛堝叏搴忓叧绯伙級锛屾爲(鍋忓簭鎴栧眰娆″叧绯)鍜屽浘锛堝眬閮ㄦ湁搴(weak/local orders)锛夋槸闈炵嚎鎬х粨鏋勩?鏁版嵁缁撴瀯鐨勭墿鐞嗙粨鏋勬槸鎸囬昏緫缁撴瀯鐨勫瓨鍌ㄩ暅鍍(image)銆傛暟鎹粨鏋 DS 鐨勭墿鐞嗙粨鏋 P瀵瑰簲浜庝粠 DS 鐨勬暟鎹厓绱犲埌瀛樺偍鍖...
  • 鏁版嵁缁撴瀯缁撴瀯绠楁硶
    绛旓細绠楁硶鐨璁捐涓庢暟鎹粨鏋勫瘑鍒囩浉鍏锛屾暟鎹粨鏋鐨勯昏緫缁撴瀯鍦ㄨ绠楁満鍐呭瓨涓殑瀹炵幇绉颁负瀛樺偍缁撴瀯銆傚瓨鍌ㄧ粨鏋勫寘鎷暟鎹厓绱犻棿鐨勮仈绯讳俊鎭互鍙婂畠浠箣闂寸殑鍏崇郴銆傚父瑙佺殑鏁版嵁缁撴瀯杩愮畻鏄绱佹彃鍏ャ佸垹闄ゃ佹洿鏂板拰鎺掑簭绛夛紝杩欎簺鎿嶄綔瀹氫箟鍦ㄦ暟鎹殑閫昏緫缁撴瀯涓娿傛暟鎹粨鏋勪笌鏁版嵁绫诲瀷銆佹暟鎹璞℃湁鎵鍖哄埆銆傛暟鎹被鍨嬪畾涔変簡涓缁勫肩殑闆嗗悎鍙婂叾鎿嶄綔...
  • 扩展阅读:目前最快的排序算法 ... 数据结构100个经典算法 ... 十大经典算法编程 ... 十大算法有哪些 ... 初学者数据结构怎样学 ... 结构化数据有哪三种 ... 数据分析的四个步骤 ... 数据结构的十大算法 ... 最快的排序算法是哪个 ...

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