第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈表實現(xiàn)的時間復雜度差異(迭代VS遞歸)?

鏈表實現(xiàn)的時間復雜度差異(迭代VS遞歸)?

阿晨1998 2022-04-28 16:59:51
在這兩種獲取 Linkedlist 中節(jié)點數(shù)的實現(xiàn)中,時間復雜度是否會發(fā)生變化? private int getCountIterative() {    Node start = head;    int count = 0;    while (start != null)    {        count++;        start = start.next;    }    return count;}private int getCountRecursive(Node node) {    if (node == null)        return 0;    return 1 + getCountRecursive(node.next);}
查看完整描述

2 回答

?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

不,時間復雜度不會改變。

然而,遞歸解決方案的性能和整體運行時間通常會更差,因為 Java 不執(zhí)行Tail Call Optimization。


查看完整回答
反對 回復 2022-04-28
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

TL;DR:同樣的復雜性

要計算操作的復雜性(例如搜索或排序算法 - 或者您的示例,計數(shù)),您需要確定主導操作

對于搜索和排序,通常是比較。你的主導業(yè)務(wù)是什么?假設(shè)它是node.next,查找下一個節(jié)點。

然后,這兩種方法都有O(n)操作 - 所以它的復雜性相同。

請注意,這個時間復雜度是一種簡化。有一些因素被忽略了,比如函數(shù)調(diào)用的開銷。因此,它具有相同的復雜性,但這并不一定會告訴您哪個版本更快。


查看完整回答
反對 回復 2022-04-28
  • 2 回答
  • 0 關(guān)注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號