筆試算法題

長度爲n的數組亂序存放着0至n-1. 現在只能進行0與其他數的交換,完成以下函數

假設0 3 1 2;第一次 3 0 1 2  ;3 1 0 2也就是0和1位置上交換 0 和1 交換

      第二次 3 1 0 2 ;3 1 2 0;也就是0在位置2上,0與2交換;

     第三次 3 1  2 0;0 1 2 3;也就是 0與3交換;

      也就是先和ayy[i] 交換,之後0和i交換,將i位於ayy[i]上,位置歸位

循環交換--對數字i來說,先將0與i位置的數字交換,即swap_with_zero(array, len, array[i]);

此時0在i位置,然後交換0與i即可。

鏈接:https://www.nowcoder.com/questionTerminal/2e5ea7147ea84f089496d23a57ee19fc?source=relative
來源:牛客網
 

廣度優先搜索: 分層(找相鄰的),標記爲1的概念

v0進 v0出;然後 v2 v1 v3進;隊列的結構,

v2出去,v0已經訪問,v4 進來;v1出去,v0 v4已經訪問 v5進來;v3出去,都訪問,沒進來;v4出去 v6進來;

v5出去,v6出去,爲空,至此結束。

深度優先搜索  ;樹的先序遍歷

v0 到 v2 ; v2訪問v0,訪問v4; 

v4訪問v1 ;v1 訪問v0 v4  v5; v5 訪問v1 v3 ;

v3 回溯到v5 ;   v5訪問v6;  v6訪問v4,v5;

v6回溯v5  ; V1 v4  v2   v0;

https://blog.csdn.net/weixin_40953222/article/details/80544928

https://blog.csdn.net/seagal890/article/details/93343658#commentBox

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章