(1)試編寫演算法將帶頭結點單鏈表就地逆置,所謂「就地」是指輔助空間為o(1)
【解析】
此問題有兩種解法。
a 把頭節點摘下來,然後用頭插法建鍊錶就形成所謂的就地逆置
b 依次遍歷將指標反轉,不過最後乙個節點需要注意一下
兩演算法時間複雜度都是o(n),空間都是o(1)
【演算法】
第一種演算法:
[cpp]view plain
copy
//就地反轉
intlinklistrerverse(linklist *head)
return
0;
}
完整例子:
[cpp]view plain
copy
#include
#include
typedef
struct
node
linklist;
//就地反轉
intlinklistrerverse(linklist *head)
return
0;
} //輸出資料
intlinklistprintf(linklist *head)
printf("\n"
);
return
0;
} //建立鍊錶
intlinklistcreate(linklist *head,
intn)
return
0;
} int
main()
return
0;
}
單鏈表的若干問題
1 試編寫演算法將帶頭結點單鏈表就地逆置,所謂 就地 是指輔助空間為o 1 解析 此問題有兩種解法。a 把頭節點摘下來,然後用頭插法建鍊錶就形成所謂的就地逆置 b 依次遍歷將指標反轉,不過最後乙個節點需要注意一下 兩演算法時間複雜度都是o n 空間都是o 1 演算法 第一種演算法 就地反轉 int ...
單鏈表的若干問題
1 試編寫演算法將帶頭結點單鏈表就地逆置,所謂 就地 是指輔助空間為o 1 解析 此問題有兩種解法。a 把頭節點摘下來,然後用頭插法建鍊錶就形成所謂的就地逆置 b 依次遍歷將指標反轉,不過最後乙個節點需要注意一下 兩演算法時間複雜度都是o n 空間都是o 1 演算法 第一種演算法 就地反轉 int ...
ceph若干問題
ceph health可以檢視ceph集群健康狀況 ceph df 可以檢視儲存的總使用率與各pool的使用率 ceph osd df 可以檢視各osd的使用率 ceph s 或 ceph status 可以檢視集群整體狀態 首先,我們要知道ceph的osd的位址 ceph osd tree可以檢視...