樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用_第1頁(yè)
樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用_第2頁(yè)
樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用_第3頁(yè)
樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用_第4頁(yè)
樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/1樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊性質(zhì)的利用第一部分樹(shù)狀結(jié)構(gòu)定義及特點(diǎn) 2第二部分子問(wèn)題重疊定義及特點(diǎn) 4第三部分子問(wèn)題重疊產(chǎn)生的原因 6第四部分子問(wèn)題重疊的性質(zhì) 9第五部分子問(wèn)題重疊的利用方法 11第六部分子問(wèn)題重疊的應(yīng)用領(lǐng)域 13第七部分子問(wèn)題重疊的優(yōu)缺點(diǎn) 16第八部分子問(wèn)題重疊的改進(jìn)方法 18

第一部分樹(shù)狀結(jié)構(gòu)定義及特點(diǎn)關(guān)鍵詞關(guān)鍵要點(diǎn)樹(shù)狀結(jié)構(gòu)定義

1.樹(shù)狀結(jié)構(gòu)是一種分層結(jié)構(gòu),其中一個(gè)節(jié)點(diǎn)可以有多個(gè)子節(jié)點(diǎn),而子節(jié)點(diǎn)沒(méi)有子節(jié)點(diǎn)。

2.樹(shù)狀結(jié)構(gòu)可以用遞歸的方式來(lái)定義:一個(gè)樹(shù)由一個(gè)根節(jié)點(diǎn)和多個(gè)子樹(shù)組成,每個(gè)子樹(shù)都是一個(gè)樹(shù)。

3.樹(shù)狀結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中有很多應(yīng)用,比如文件系統(tǒng)、目錄樹(shù)、語(yǔ)法樹(shù)等。

樹(shù)狀結(jié)構(gòu)特點(diǎn)

1.樹(shù)狀結(jié)構(gòu)是一種非線性數(shù)據(jù)結(jié)構(gòu),它由節(jié)點(diǎn)和邊組成。

2.樹(shù)狀結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)都有一個(gè)父節(jié)點(diǎn)和多個(gè)子節(jié)點(diǎn)。

3.樹(shù)狀結(jié)構(gòu)是一種層次結(jié)構(gòu),它可以分為根節(jié)點(diǎn)、內(nèi)部節(jié)點(diǎn)和葉節(jié)點(diǎn)。#樹(shù)狀結(jié)構(gòu)定義及特點(diǎn)

1.樹(shù)狀結(jié)構(gòu)定義

樹(shù)狀結(jié)構(gòu)是一種非線性的數(shù)據(jù)結(jié)構(gòu),由一組節(jié)點(diǎn)和連接節(jié)點(diǎn)的邊組成。其中,節(jié)點(diǎn)表示數(shù)據(jù)元素,邊表示節(jié)點(diǎn)之間的關(guān)系。樹(shù)狀結(jié)構(gòu)的特點(diǎn)是:

-每個(gè)節(jié)點(diǎn)最多只有一條邊連接到它的父節(jié)點(diǎn),所以形成樹(shù)狀結(jié)構(gòu);

-每個(gè)節(jié)點(diǎn)可以有多條邊連接到它的子節(jié)點(diǎn);

-除了根節(jié)點(diǎn)以外,每個(gè)節(jié)點(diǎn)都有且只有一條邊連接到它的父節(jié)點(diǎn);

-每個(gè)節(jié)點(diǎn)都可以有多個(gè)子節(jié)點(diǎn);

-根節(jié)點(diǎn)是樹(shù)的起點(diǎn),只有一個(gè),且沒(méi)有父節(jié)點(diǎn);

-葉子節(jié)點(diǎn)是樹(shù)的終點(diǎn),沒(méi)有子節(jié)點(diǎn);

-樹(shù)中的節(jié)點(diǎn)可以包含數(shù)據(jù),也可以不包含數(shù)據(jù)。

2.樹(shù)狀結(jié)構(gòu)的特點(diǎn)

樹(shù)狀結(jié)構(gòu)具有以下特點(diǎn):

-存儲(chǔ)結(jié)構(gòu)清晰,便于管理和查找數(shù)據(jù);

-數(shù)據(jù)存儲(chǔ)緊湊,可以節(jié)省空間;

-數(shù)據(jù)查找效率高,時(shí)間復(fù)雜度為O(logn);

-可以方便地進(jìn)行數(shù)據(jù)插入和刪除操作;

-可以方便地進(jìn)行數(shù)據(jù)遍歷操作。

3.樹(shù)狀結(jié)構(gòu)的應(yīng)用

樹(shù)狀結(jié)構(gòu)廣泛應(yīng)用于計(jì)算機(jī)科學(xué)的各個(gè)領(lǐng)域,包括:

-文件系統(tǒng):文件系統(tǒng)使用樹(shù)狀結(jié)構(gòu)來(lái)組織文件和目錄,便于用戶查找和管理文件;

-數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)使用樹(shù)狀結(jié)構(gòu)來(lái)組織數(shù)據(jù),便于數(shù)據(jù)查詢和管理;

-編譯器:編譯器使用樹(shù)狀結(jié)構(gòu)來(lái)表示程序的語(yǔ)法結(jié)構(gòu),便于編譯器進(jìn)行編譯;

-圖形學(xué):圖形學(xué)使用樹(shù)狀結(jié)構(gòu)來(lái)表示圖形對(duì)象的層次結(jié)構(gòu),便于圖形對(duì)象的渲染;

-人工智能:人工智能使用樹(shù)狀結(jié)構(gòu)來(lái)表示決策樹(shù),便于人工智能系統(tǒng)進(jìn)行決策。

4.樹(shù)狀結(jié)構(gòu)的優(yōu)缺點(diǎn)

樹(shù)狀結(jié)構(gòu)的優(yōu)點(diǎn)包括:

-存儲(chǔ)結(jié)構(gòu)清晰,便于管理和查找數(shù)據(jù);

-數(shù)據(jù)存儲(chǔ)緊湊,可以節(jié)省空間;

-數(shù)據(jù)查找效率高,時(shí)間復(fù)雜度為O(logn);

-可以方便地進(jìn)行數(shù)據(jù)插入和刪除操作;

-可以方便地進(jìn)行數(shù)據(jù)遍歷操作。

樹(shù)狀結(jié)構(gòu)的缺點(diǎn)包括:

-查詢和更新數(shù)據(jù)時(shí),需要先找到相應(yīng)的數(shù)據(jù)項(xiàng),這個(gè)過(guò)程可能會(huì)很慢;

-對(duì)于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可能會(huì)出現(xiàn)數(shù)據(jù)冗余的情況,造成存儲(chǔ)空間的浪費(fèi);

-不適合存儲(chǔ)大量數(shù)據(jù),因?yàn)殡S著數(shù)據(jù)量的增加,樹(shù)狀結(jié)構(gòu)的查詢和更新效率會(huì)下降。第二部分子問(wèn)題重疊定義及特點(diǎn)關(guān)鍵詞關(guān)鍵要點(diǎn)【子問(wèn)題重疊定義】

1.子問(wèn)題重疊是指在解決一個(gè)問(wèn)題時(shí),該問(wèn)題的部分子問(wèn)題與以前解決過(guò)的其他問(wèn)題的子問(wèn)題相同或相似。

2.這意味著,子問(wèn)題重疊可以幫助識(shí)別和利用以前的計(jì)算結(jié)果,從而減少重復(fù)計(jì)算,提高解決問(wèn)題的效率。

3.子問(wèn)題重疊在許多經(jīng)典算法中都有應(yīng)用,如動(dòng)態(tài)規(guī)劃、貪心算法、分治法等。

【子問(wèn)題重疊特點(diǎn)】

子問(wèn)題重疊定義:

樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊是指在動(dòng)態(tài)規(guī)劃解決問(wèn)題時(shí),子問(wèn)題之間存在重疊的情況,即某些子問(wèn)題被重復(fù)計(jì)算多次。由于樹(shù)狀結(jié)構(gòu)具有遞歸和分治的性質(zhì),因此在解決樹(shù)狀結(jié)構(gòu)問(wèn)題時(shí)經(jīng)常會(huì)遇到子問(wèn)題重疊的情況。

子問(wèn)題重疊的特點(diǎn):

1.重復(fù)計(jì)算:子問(wèn)題重疊導(dǎo)致子問(wèn)題被重復(fù)計(jì)算多次,這會(huì)浪費(fèi)計(jì)算資源,降低算法的效率。

2.計(jì)算路徑不同:子問(wèn)題重疊使得子問(wèn)題的計(jì)算路徑不同,從而導(dǎo)致子問(wèn)題的解不同。例如,在樹(shù)狀結(jié)構(gòu)的深度優(yōu)先搜索中,如果存在子問(wèn)題重疊,那么不同路徑計(jì)算出的子問(wèn)題的解可能不同。

3.計(jì)算結(jié)果相關(guān):子問(wèn)題重疊使得子問(wèn)題的計(jì)算結(jié)果相關(guān),即子問(wèn)題的解與其他子問(wèn)題的解相關(guān)。這使得子問(wèn)題的解不能獨(dú)立計(jì)算,需要考慮其他子問(wèn)題的解。

4.子問(wèn)題規(guī)模較小:在樹(shù)狀結(jié)構(gòu)中,子問(wèn)題通常規(guī)模較小,這使得子問(wèn)題的計(jì)算相對(duì)容易。因此,子問(wèn)題重疊可以利用動(dòng)態(tài)規(guī)劃技術(shù)有效地解決。

5.子問(wèn)題具有層次性:樹(shù)狀結(jié)構(gòu)中的子問(wèn)題具有層次性,即子問(wèn)題可以分為不同的層次,并且每層的子問(wèn)題與上一層的子問(wèn)題相關(guān)。這使得子問(wèn)題的計(jì)算可以從底層開(kāi)始逐層向上進(jìn)行。

利用子問(wèn)題重疊性質(zhì)的意義:

子問(wèn)題重疊性質(zhì)在樹(shù)狀結(jié)構(gòu)中動(dòng)態(tài)規(guī)劃問(wèn)題的解決中具有重要意義,可以利用此性質(zhì)有效地減少計(jì)算量,提高算法的效率。常用的利用子問(wèn)題重疊性質(zhì)的算法包括:

1.記憶化搜索:記憶化搜索是一種避免重復(fù)計(jì)算的算法,它將子問(wèn)題的解存儲(chǔ)在表中,當(dāng)遇到相同的子問(wèn)題時(shí),直接從表中讀取解,而無(wú)需重新計(jì)算。

2.動(dòng)態(tài)規(guī)劃:動(dòng)態(tài)規(guī)劃是一種解決優(yōu)化問(wèn)題的算法,它將子問(wèn)題的解存儲(chǔ)在表中,并利用存儲(chǔ)的解來(lái)計(jì)算其他子問(wèn)題的解。

3.回溯法:回溯法是一種解決搜索問(wèn)題的算法,它通過(guò)回溯的方式搜索所有可能的解,并保存已搜索過(guò)的解,以避免重復(fù)搜索。第三部分子問(wèn)題重疊產(chǎn)生的原因關(guān)鍵詞關(guān)鍵要點(diǎn)子問(wèn)題相似性

1.子問(wèn)題相似性是指樹(shù)狀結(jié)構(gòu)中子問(wèn)題存在相似性或重復(fù)出現(xiàn)的現(xiàn)象,這可能會(huì)導(dǎo)致計(jì)算的重復(fù)。

2.子問(wèn)題相似性可能是由于問(wèn)題本身具有重復(fù)性的特徵,例如查找二叉樹(shù)中某個(gè)節(jié)點(diǎn)的深度或計(jì)算二叉樹(shù)的高度。

3.子問(wèn)題相似性也可能與用于解決問(wèn)題的算法有關(guān),例如使用遞歸算法解決樹(shù)狀結(jié)構(gòu)的問(wèn)題時(shí),可能會(huì)產(chǎn)生重復(fù)的子問(wèn)題。

子問(wèn)題獨(dú)立性

1.子問(wèn)題獨(dú)立性是指樹(shù)狀結(jié)構(gòu)中子問(wèn)題可以獨(dú)立地解決,而不會(huì)受到其他子問(wèn)題的影響。

2.子問(wèn)題獨(dú)立性是減少子問(wèn)題重疊的重要因素。

3.若子問(wèn)題存在依賴關(guān)系或相互影響,則很難避免子問(wèn)題重疊。

子問(wèn)題重疊的程度

1.子問(wèn)題重疊的程度是指樹(shù)狀結(jié)構(gòu)中子問(wèn)題重疊的程度或數(shù)量。

2.子問(wèn)題重疊的程度是衡量子問(wèn)題重疊嚴(yán)重程度的重要指標(biāo)。

3.子問(wèn)題重疊的程度可以通過(guò)計(jì)算子問(wèn)題重疊的次數(shù)或子問(wèn)題重疊的比例來(lái)衡量。

子問(wèn)題重疊產(chǎn)生的影響

1.子問(wèn)題重疊會(huì)增加算法的時(shí)間復(fù)雜度和空間復(fù)雜度,導(dǎo)致算法效率降低。

2.子問(wèn)題重疊可能會(huì)導(dǎo)致算法出現(xiàn)錯(cuò)誤或不穩(wěn)定,影響算法的正確性和可靠性。

3.子問(wèn)題重疊會(huì)增加算法的代碼長(zhǎng)度和復(fù)雜度,使算法難以理解和維護(hù)。

減少子問(wèn)題重疊的方法

1.使用動(dòng)態(tài)規(guī)劃(DP)算法或記憶化搜索(Memoization)技術(shù)來(lái)存儲(chǔ)子問(wèn)題的解決方案,以避免重復(fù)計(jì)算。

2.通過(guò)適當(dāng)?shù)脑O(shè)計(jì)算法來(lái)減少子問(wèn)題的重復(fù),例如使用分治算法或迭代算法來(lái)代替遞歸算法。

3.通過(guò)適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)來(lái)減少子問(wèn)題的重復(fù),例如使用哈希表或字典來(lái)存儲(chǔ)和檢索子問(wèn)題的解決方案。

子問(wèn)題重疊的應(yīng)用

1.子問(wèn)題重疊性質(zhì)可以用于設(shè)計(jì)高效的算法,例如用于計(jì)算斐波那契數(shù)列、尋找最長(zhǎng)公共子序列和解決背包問(wèn)題等。

2.子問(wèn)題重疊性質(zhì)可以用于分析算法的復(fù)雜度,例如用于分析快速排序算法和歸并排序算法等。

3.子問(wèn)題重疊性質(zhì)可以用于設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),例如用于設(shè)計(jì)平衡二叉樹(shù)、紅黑樹(shù)和跳表等。子問(wèn)題重疊產(chǎn)生的原因

在樹(shù)狀結(jié)構(gòu)中,子問(wèn)題重疊產(chǎn)生的原因主要有以下幾個(gè)方面:

#1.相同子問(wèn)題的重復(fù)計(jì)算

在樹(shù)狀結(jié)構(gòu)中,某些子問(wèn)題可能存在于多個(gè)不同的子樹(shù)中,當(dāng)對(duì)這些子樹(shù)進(jìn)行處理時(shí),可能會(huì)重復(fù)計(jì)算相同的子問(wèn)題。例如,在計(jì)算樹(shù)的高度時(shí),需要計(jì)算每個(gè)節(jié)點(diǎn)到根節(jié)點(diǎn)的距離,如果某個(gè)節(jié)點(diǎn)是多個(gè)子樹(shù)的公共節(jié)點(diǎn),那么它的距離需要被重復(fù)計(jì)算。

#2.重復(fù)的搜索

在樹(shù)狀結(jié)構(gòu)中,當(dāng)搜索某個(gè)節(jié)點(diǎn)時(shí),可能會(huì)遇到相同的節(jié)點(diǎn)多次,這會(huì)導(dǎo)致重復(fù)的搜索。例如,在查找樹(shù)中某個(gè)節(jié)點(diǎn)的祖先節(jié)點(diǎn)時(shí),可能會(huì)沿著多條路徑搜索,從而導(dǎo)致重復(fù)的搜索。

#3.重復(fù)的插入和刪除

在樹(shù)狀結(jié)構(gòu)中,當(dāng)對(duì)樹(shù)進(jìn)行插入和刪除操作時(shí),可能會(huì)導(dǎo)致重復(fù)的插入和刪除。例如,當(dāng)在樹(shù)中插入一個(gè)新的節(jié)點(diǎn)時(shí),需要將該節(jié)點(diǎn)插入到其父節(jié)點(diǎn)的子節(jié)點(diǎn)列表中,如果該父節(jié)點(diǎn)已經(jīng)存在其他子節(jié)點(diǎn),那么需要將該節(jié)點(diǎn)插入到這些子節(jié)點(diǎn)的后面,從而導(dǎo)致重復(fù)的插入。

#4.重復(fù)的更新

在樹(shù)狀結(jié)構(gòu)中,當(dāng)對(duì)樹(shù)中的某個(gè)節(jié)點(diǎn)進(jìn)行更新時(shí),可能會(huì)導(dǎo)致重復(fù)的更新。例如,當(dāng)更新某個(gè)節(jié)點(diǎn)的值時(shí),需要將該節(jié)點(diǎn)的值更新到其所有子節(jié)點(diǎn)中,從而導(dǎo)致重復(fù)的更新。

消除子問(wèn)題重疊的方法

為了消除子問(wèn)題重疊,可以采用以下幾種方法:

1.備忘錄法

備忘錄法是一種存儲(chǔ)已經(jīng)計(jì)算過(guò)的子問(wèn)題的解,以便在需要時(shí)快速檢索的方法。當(dāng)計(jì)算某個(gè)子問(wèn)題時(shí),首先檢查備忘錄中是否有該子問(wèn)題的解,如果有,則直接返回該解,否則計(jì)算該子問(wèn)題的解并將其存儲(chǔ)到備忘錄中。備忘錄法可以有效地消除子問(wèn)題重疊,但需要額外的空間來(lái)存儲(chǔ)備忘錄。

2.遞歸優(yōu)化

遞歸優(yōu)化是一種通過(guò)重新組織遞歸代碼來(lái)消除子問(wèn)題重疊的方法。通過(guò)對(duì)遞歸代碼進(jìn)行分析,可以發(fā)現(xiàn)哪些子問(wèn)題是重復(fù)計(jì)算的,然后通過(guò)重新組織代碼來(lái)避免重復(fù)計(jì)算這些子問(wèn)題。遞歸優(yōu)化可以有效地消除子問(wèn)題重疊,但需要對(duì)遞歸代碼進(jìn)行深入的分析。

3.動(dòng)態(tài)規(guī)劃

動(dòng)態(tài)規(guī)劃是一種通過(guò)將問(wèn)題分解為一系列重疊的子問(wèn)題,然后逐步解決這些子問(wèn)題來(lái)解決問(wèn)題的算法范式。動(dòng)態(tài)規(guī)劃可以有效地消除子問(wèn)題重疊,但需要對(duì)問(wèn)題進(jìn)行仔細(xì)的分析,以便將其分解為重疊的子問(wèn)題。第四部分子問(wèn)題重疊的性質(zhì)關(guān)鍵詞關(guān)鍵要點(diǎn)【子問(wèn)題重疊的定義】:

1.子問(wèn)題重疊是指在樹(shù)狀結(jié)構(gòu)的問(wèn)題中,存在著相同的子問(wèn)題多次被重復(fù)計(jì)算的情況。

2.子問(wèn)題重疊的程度可以通過(guò)計(jì)算重復(fù)計(jì)算的子問(wèn)題的數(shù)量來(lái)衡量。

3.子問(wèn)題重疊是導(dǎo)致樹(shù)狀結(jié)構(gòu)中的問(wèn)題計(jì)算復(fù)雜度高的主要原因之一。

【子問(wèn)題重疊的消除】:

子問(wèn)題重疊性質(zhì)

子問(wèn)題重疊是指在解決一個(gè)問(wèn)題時(shí),會(huì)重復(fù)地求解一些子問(wèn)題,而這些子問(wèn)題之前已經(jīng)被求解過(guò)。子問(wèn)題重疊是樹(shù)狀結(jié)構(gòu)問(wèn)題的一個(gè)常見(jiàn)性質(zhì),它會(huì)導(dǎo)致算法的效率降低。

為了利用子問(wèn)題重疊的性質(zhì)來(lái)提高算法的效率,可以采用備忘錄法或動(dòng)態(tài)規(guī)劃法。備忘錄法是將已經(jīng)求解過(guò)的子問(wèn)題的解存儲(chǔ)起來(lái),以便以后需要時(shí)直接使用。動(dòng)態(tài)規(guī)劃法則是將問(wèn)題分解成更小的子問(wèn)題,然后依次求解這些子問(wèn)題,并存儲(chǔ)它們的解,以便以后需要時(shí)直接使用。

備忘錄法和動(dòng)態(tài)規(guī)劃法都是利用子問(wèn)題重疊的性質(zhì)來(lái)提高算法效率的有效方法。它們可以將算法的時(shí)間復(fù)雜度從指數(shù)級(jí)降低到多項(xiàng)式級(jí)。

子問(wèn)題重疊性質(zhì)的利用實(shí)例

*斐波那契數(shù)

斐波那契數(shù)列是以0和1開(kāi)頭,從第三個(gè)數(shù)起,每個(gè)數(shù)是前兩個(gè)數(shù)的和的數(shù)列。其數(shù)學(xué)表達(dá)式為:

$$F(n)=F(n-1)+F(n-2)$$

其中F(n)表示第n個(gè)斐波那契數(shù)。

如果使用遞歸的方法來(lái)求解斐波那契數(shù)列,則會(huì)產(chǎn)生大量的重復(fù)計(jì)算。例如,要計(jì)算F(10),需要計(jì)算F(9)、F(8)、F(7)、F(6)、F(5)、F(4)、F(3)、F(2)、F(1)和F(0)。其中,F(xiàn)(1)和F(0)已經(jīng)被計(jì)算過(guò)多次。

為了利用子問(wèn)題重疊的性質(zhì)來(lái)提高斐波那契數(shù)列的計(jì)算效率,可以使用備忘錄法或動(dòng)態(tài)規(guī)劃法。備忘錄法是將已經(jīng)計(jì)算過(guò)的斐波那契數(shù)存儲(chǔ)起來(lái),以便以后需要時(shí)直接使用。動(dòng)態(tài)規(guī)劃法則是將斐波那契數(shù)列分解成更小的子問(wèn)題,然后依次求解這些子問(wèn)題,并存儲(chǔ)它們的解,以便以后需要時(shí)直接使用。

使用備忘錄法或動(dòng)態(tài)規(guī)劃法來(lái)計(jì)算斐波那契數(shù)列,可以將時(shí)間復(fù)雜度從指數(shù)級(jí)降低到線性級(jí)。

*最長(zhǎng)公共子序列

最長(zhǎng)公共子序列問(wèn)題是給定兩個(gè)字符串,找到這兩個(gè)字符串的最長(zhǎng)公共子序列。最長(zhǎng)公共子序列是指兩個(gè)字符串中出現(xiàn)過(guò)的最長(zhǎng)的連續(xù)的字符序列。

例如,字符串“ABCD”和“ACED”的最長(zhǎng)公共子序列是“AC”,因?yàn)椤癆C”是這兩個(gè)字符串中出現(xiàn)過(guò)的最長(zhǎng)的連續(xù)的字符序列。

如果使用暴力搜索的方法來(lái)求解最長(zhǎng)公共子序列問(wèn)題,則會(huì)產(chǎn)生大量的重復(fù)計(jì)算。例如,要計(jì)算字符串“ABCD”和“ACED”的最長(zhǎng)公共子序列,需要比較“A”和“A”、“A”和“C”、“A”和“E”、“A”和“D”、“B”和“A”、“B”和“C”、“B”和“E”、“B”和“D”、“C”和“A”、“C”和“C”、“C”和“E”、“C”和“D”、“D”和“A”、“D”和“C”、“D”和“E”、“D”和“D”等16對(duì)字符。其中,有一些字符對(duì)已經(jīng)被比較過(guò)多次。

為了利用子問(wèn)題重疊的性質(zhì)來(lái)提高最長(zhǎng)公共子序列問(wèn)題的計(jì)算效率,可以使用備忘錄法或動(dòng)態(tài)規(guī)劃法。備忘錄法是將已經(jīng)比較過(guò)的字符對(duì)及其比較結(jié)果存儲(chǔ)起來(lái),以便以后需要時(shí)直接使用。動(dòng)態(tài)規(guī)劃法則是將最長(zhǎng)公共子序列問(wèn)題分解成更小的子問(wèn)題,然后依次求解這些子問(wèn)題,并存儲(chǔ)它們的解,以便以后需要時(shí)直接使用。

使用備忘錄法或動(dòng)態(tài)規(guī)劃法來(lái)計(jì)算最長(zhǎng)公共子序列,可以將時(shí)間復(fù)雜度從平方級(jí)降低到線性級(jí)。第五部分子問(wèn)題重疊的利用方法關(guān)鍵詞關(guān)鍵要點(diǎn)【動(dòng)態(tài)規(guī)劃】:

1.動(dòng)態(tài)規(guī)劃是一種解決重復(fù)性問(wèn)題的有效方法,它將問(wèn)題分解成一系列子問(wèn)題,然后通過(guò)重復(fù)解決這些子問(wèn)題來(lái)得到問(wèn)題的最終解。

2.樹(shù)狀結(jié)構(gòu)中,子問(wèn)題重疊是指同一個(gè)子問(wèn)題可能會(huì)在不同的子樹(shù)中被重復(fù)求解,這導(dǎo)致了計(jì)算效率的降低。

3.動(dòng)態(tài)規(guī)劃可以通過(guò)存儲(chǔ)子問(wèn)題的解來(lái)避免重復(fù)計(jì)算,從而提高算法的效率。

【貪心算法】:

子問(wèn)題重疊的利用方法

子問(wèn)題重疊是指在樹(shù)狀結(jié)構(gòu)中,同一個(gè)子問(wèn)題可能在不同的子樹(shù)中出現(xiàn)多次。為了避免重復(fù)計(jì)算子問(wèn)題,我們可以利用子問(wèn)題重疊的性質(zhì),將子問(wèn)題的解存儲(chǔ)起來(lái),當(dāng)需要再次計(jì)算時(shí),直接從存儲(chǔ)中讀取結(jié)果。

一、記憶化搜索

記憶化搜索是一種利用子問(wèn)題重疊性質(zhì)的經(jīng)典算法。在記憶化搜索中,我們首先為每個(gè)子問(wèn)題分配一個(gè)唯一的標(biāo)識(shí)符。然后,我們將子問(wèn)題的解存儲(chǔ)在一個(gè)哈希表中,哈希表中的鍵是子問(wèn)題的標(biāo)識(shí)符,值是子問(wèn)題的解。當(dāng)需要計(jì)算一個(gè)子問(wèn)題時(shí),我們首先檢查哈希表中是否已經(jīng)存在該子問(wèn)題的解。如果存在,則直接從哈希表中讀取結(jié)果。否則,我們計(jì)算子問(wèn)題的解,并將解存儲(chǔ)在哈希表中。

二、動(dòng)態(tài)規(guī)劃

動(dòng)態(tài)規(guī)劃也是一種利用子問(wèn)題重疊性質(zhì)的算法。與記憶化搜索不同的是,動(dòng)態(tài)規(guī)劃在計(jì)算子問(wèn)題解之前,會(huì)先計(jì)算出所有子問(wèn)題的解。然后,我們將子問(wèn)題的解存儲(chǔ)在一個(gè)二維數(shù)組中,二維數(shù)組的第一個(gè)索引是子問(wèn)題的標(biāo)識(shí)符,第二個(gè)索引是子問(wèn)題的參數(shù)。當(dāng)需要計(jì)算一個(gè)子問(wèn)題時(shí),我們直接從二維數(shù)組中讀取結(jié)果。

三、樹(shù)狀數(shù)組

樹(shù)狀數(shù)組是一種支持區(qū)間查詢和單點(diǎn)修改的數(shù)據(jù)結(jié)構(gòu)。樹(shù)狀數(shù)組利用了子問(wèn)題重疊的性質(zhì),將原數(shù)組劃分為多個(gè)子區(qū)間,并在每個(gè)子區(qū)間中存儲(chǔ)子區(qū)間的和。當(dāng)需要查詢一個(gè)區(qū)間的和時(shí),我們只需要查詢?cè)搮^(qū)間對(duì)應(yīng)的子區(qū)間的和。當(dāng)需要修改一個(gè)元素時(shí),我們只需要修改該元素所在的子區(qū)間的和。

四、線段樹(shù)

線段樹(shù)是一種支持區(qū)間查詢和區(qū)間修改的數(shù)據(jù)結(jié)構(gòu)。線段樹(shù)利用了子問(wèn)題重疊的性質(zhì),將原數(shù)組劃分為多個(gè)子區(qū)間,并在每個(gè)子區(qū)間中存儲(chǔ)子區(qū)間的最大值、最小值、和等信息。當(dāng)需要查詢一個(gè)區(qū)間的最大值、最小值或和時(shí),我們只需要查詢?cè)搮^(qū)間對(duì)應(yīng)的子區(qū)間的最大值、最小值或和。當(dāng)需要修改一個(gè)區(qū)間時(shí),我們只需要修改該區(qū)間對(duì)應(yīng)的子區(qū)間的最大值、最小值或和。

五、后綴數(shù)組

后綴數(shù)組是一種支持字符串匹配的數(shù)據(jù)結(jié)構(gòu)。后綴數(shù)組利用了子問(wèn)題重疊的性質(zhì),將字符串的所有后綴排序,并在排序的后綴中存儲(chǔ)每個(gè)后綴的起始位置。當(dāng)需要匹配一個(gè)字符串時(shí),我們只需要在后綴數(shù)組中搜索該字符串。當(dāng)需要查找一個(gè)字符串在另一個(gè)字符串中出現(xiàn)的所有位置時(shí),我們只需要在后綴數(shù)組中搜索該字符串的所有后綴。第六部分子問(wèn)題重疊的應(yīng)用領(lǐng)域關(guān)鍵詞關(guān)鍵要點(diǎn)數(shù)據(jù)結(jié)構(gòu)和算法分析

1.子問(wèn)題重疊的應(yīng)用可以幫助計(jì)算機(jī)科學(xué)家在解決復(fù)雜問(wèn)題時(shí)提高算法的效率和性能。

2.通過(guò)識(shí)別和利用子問(wèn)題重疊,算法設(shè)計(jì)者可以避免重復(fù)計(jì)算,從而降低時(shí)間復(fù)雜度和空間復(fù)雜度。

3.子問(wèn)題重疊的應(yīng)用在許多計(jì)算機(jī)科學(xué)領(lǐng)域中都有重要意義,包括動(dòng)態(tài)規(guī)劃、回溯算法、分治算法、貪心算法等。

《計(jì)算機(jī)科學(xué)中的子問(wèn)題重疊》

1.計(jì)算機(jī)科學(xué)中,子問(wèn)題重疊是指在解決一個(gè)復(fù)雜問(wèn)題時(shí),其子問(wèn)題之間存在著某種重疊或相似性。

2.子問(wèn)題重疊的應(yīng)用可以幫助計(jì)算機(jī)科學(xué)家在解決復(fù)雜問(wèn)題時(shí)提高算法的效率和性能。

3.通過(guò)識(shí)別和利用子問(wèn)題重疊,算法設(shè)計(jì)者可以避免重復(fù)計(jì)算,從而降低時(shí)間復(fù)雜度和空間復(fù)雜度。

程序設(shè)計(jì)中的子問(wèn)題重疊

1.在程序設(shè)計(jì)中,子問(wèn)題重疊是指在一個(gè)函數(shù)或算法中,存在著重復(fù)的子任務(wù)或子問(wèn)題。

2.子問(wèn)題重疊的應(yīng)用可以幫助程序員提高程序的效率和性能。

3.程序員可以通過(guò)識(shí)別和利用子問(wèn)題重疊,減少代碼的重復(fù)性和復(fù)雜性,從而使程序更加易于維護(hù)和理解。

人工智能中的子問(wèn)題重疊

1.在人工智能領(lǐng)域,子問(wèn)題重疊是指在解決一個(gè)復(fù)雜問(wèn)題時(shí),其子問(wèn)題之間存在著某種重疊或相似性。

2.子問(wèn)題重疊的應(yīng)用可以幫助人工智能模型提高學(xué)習(xí)效率和泛化能力。

3.通過(guò)識(shí)別和利用子問(wèn)題重疊,人工智能模型可以避免重復(fù)學(xué)習(xí),從而提高訓(xùn)練速度和準(zhǔn)確性。

機(jī)器學(xué)習(xí)中的子問(wèn)題重疊

1.在機(jī)器學(xué)習(xí)領(lǐng)域,子問(wèn)題重疊是指在解決一個(gè)學(xué)習(xí)任務(wù)時(shí),其子任務(wù)之間存在著某種重疊或相似性。

2.子問(wèn)題重疊的應(yīng)用可以幫助機(jī)器學(xué)習(xí)模型提高學(xué)習(xí)效率和泛化能力。

3.通過(guò)識(shí)別和利用子問(wèn)題重疊,機(jī)器學(xué)習(xí)模型可以避免重復(fù)學(xué)習(xí),從而提高訓(xùn)練速度和準(zhǔn)確性。

運(yùn)籌學(xué)中的子問(wèn)題重疊

1.在運(yùn)籌學(xué)領(lǐng)域,子問(wèn)題重疊是指在解決一個(gè)優(yōu)化問(wèn)題時(shí),其子問(wèn)題之間存在著某種重疊或相似性。

2.子問(wèn)題重疊的應(yīng)用可以幫助運(yùn)籌學(xué)模型提高求解效率和魯棒性。

3.通過(guò)識(shí)別和利用子問(wèn)題重疊,運(yùn)籌學(xué)模型可以避免重復(fù)計(jì)算,從而降低時(shí)間復(fù)雜度和空間復(fù)雜度。一、人工智能領(lǐng)域

1.自然語(yǔ)言處理:子問(wèn)題重疊在自然語(yǔ)言處理中得到了廣泛的應(yīng)用。例如,在機(jī)器翻譯中,子問(wèn)題重疊可以幫助模型學(xué)習(xí)不同語(yǔ)言之間的對(duì)應(yīng)關(guān)系,并生成更準(zhǔn)確的翻譯結(jié)果。在文本摘要中,子問(wèn)題重疊可以幫助模型識(shí)別重要信息并生成更具概括性的摘要。

2.機(jī)器學(xué)習(xí):子問(wèn)題重疊在機(jī)器學(xué)習(xí)中也發(fā)揮著重要作用。例如,在強(qiáng)化學(xué)習(xí)中,子問(wèn)題重疊可以幫助模型學(xué)習(xí)不同狀態(tài)之間的最優(yōu)策略。在監(jiān)督學(xué)習(xí)中,子問(wèn)題重疊可以幫助模型學(xué)習(xí)不同特征之間的關(guān)系,并做出更準(zhǔn)確的預(yù)測(cè)。

3.計(jì)算機(jī)視覺(jué):子問(wèn)題重疊在計(jì)算機(jī)視覺(jué)中也得到了廣泛的應(yīng)用。例如,在目標(biāo)檢測(cè)中,子問(wèn)題重疊可以幫助模型識(shí)別不同對(duì)象并對(duì)其進(jìn)行分類。在圖像分割中,子問(wèn)題重疊可以幫助模型將圖像分為不同的區(qū)域。

二、生物信息學(xué)領(lǐng)域

1.基因組學(xué):子問(wèn)題重疊在基因組學(xué)中得到了廣泛的應(yīng)用。例如,在基因組序列組裝中,子問(wèn)題重疊可以幫助模型將不同的基因組片段拼接成完整序列。在基因表達(dá)分析中,子問(wèn)題重疊可以幫助模型識(shí)別不同基因的表達(dá)模式。

2.蛋白質(zhì)組學(xué):子問(wèn)題重疊在蛋白質(zhì)組學(xué)中也發(fā)揮著重要作用。例如,在蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同蛋白質(zhì)的結(jié)構(gòu)。在蛋白質(zhì)相互作用分析中,子問(wèn)題重疊可以幫助模型識(shí)別不同蛋白質(zhì)之間的相互作用。

三、化學(xué)領(lǐng)域

1.化學(xué)式識(shí)別:子問(wèn)題重疊在化學(xué)式識(shí)別中得到了廣泛的應(yīng)用。例如,在化學(xué)式生成中,子問(wèn)題重疊可以幫助模型生成不同化學(xué)物質(zhì)的化學(xué)式。在化學(xué)反應(yīng)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同化學(xué)物質(zhì)之間的反應(yīng)。

2.分子性質(zhì)預(yù)測(cè):子問(wèn)題重疊在分子性質(zhì)預(yù)測(cè)中也發(fā)揮著重要作用。例如,在分子結(jié)構(gòu)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同分子的結(jié)構(gòu)。在分子性質(zhì)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同分子的物理和化學(xué)性質(zhì)。

四、材料科學(xué)領(lǐng)域

1.材料結(jié)構(gòu)預(yù)測(cè):子問(wèn)題重疊在材料結(jié)構(gòu)預(yù)測(cè)中得到了廣泛的應(yīng)用。例如,在晶體結(jié)構(gòu)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同晶體的結(jié)構(gòu)。在納米材料結(jié)構(gòu)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同納米材料的結(jié)構(gòu)。

2.材料性質(zhì)預(yù)測(cè):子問(wèn)題重疊在材料性質(zhì)預(yù)測(cè)中也發(fā)揮著重要作用。例如,在材料力學(xué)性質(zhì)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同材料的力學(xué)性質(zhì)。在材料電學(xué)性質(zhì)預(yù)測(cè)中,子問(wèn)題重疊可以幫助模型預(yù)測(cè)不同材料的電學(xué)性質(zhì)。第七部分子問(wèn)題重疊的優(yōu)缺點(diǎn)關(guān)鍵詞關(guān)鍵要點(diǎn)子問(wèn)題重疊的優(yōu)點(diǎn)

1.子問(wèn)題重疊可以減少問(wèn)題的求解時(shí)間。在解決子問(wèn)題時(shí),如果發(fā)現(xiàn)當(dāng)前子問(wèn)題與之前已經(jīng)解決過(guò)的子問(wèn)題相同,則可以直接使用之前的結(jié)果,而無(wú)需重復(fù)求解。這可以大大減少問(wèn)題的求解時(shí)間,提高算法的效率。

2.子問(wèn)題重疊可以節(jié)省空間。在解決子問(wèn)題時(shí),如果發(fā)現(xiàn)當(dāng)前子問(wèn)題與之前已經(jīng)解決過(guò)的子問(wèn)題相同,則只需要存儲(chǔ)一次結(jié)果,而無(wú)需為每個(gè)子問(wèn)題都存儲(chǔ)一次結(jié)果。這可以節(jié)省大量的空間,尤其是在解決規(guī)模較大的問(wèn)題時(shí)。

3.子問(wèn)題重疊可以降低算法的復(fù)雜度。在解決子問(wèn)題時(shí),如果發(fā)現(xiàn)當(dāng)前子問(wèn)題與之前已經(jīng)解決過(guò)的子問(wèn)題相同,則可以使用之前的結(jié)果直接得到當(dāng)前子問(wèn)題的解。這可以降低算法的復(fù)雜度,使算法更容易實(shí)現(xiàn)。

子問(wèn)題重疊的缺點(diǎn)

1.子問(wèn)題重疊可能會(huì)導(dǎo)致算法的效率降低。如果一個(gè)問(wèn)題存在大量重復(fù)的子問(wèn)題,則使用動(dòng)態(tài)規(guī)劃算法解決該問(wèn)題可能會(huì)導(dǎo)致算法的效率降低。這是因?yàn)閯?dòng)態(tài)規(guī)劃算法需要為每個(gè)子問(wèn)題都存儲(chǔ)一次結(jié)果,這會(huì)消耗大量的時(shí)間和空間。

2.子問(wèn)題重疊可能會(huì)導(dǎo)致算法的復(fù)雜度增加。如果一個(gè)問(wèn)題存在大量重復(fù)的子問(wèn)題,則使用動(dòng)態(tài)規(guī)劃算法解決該問(wèn)題可能會(huì)導(dǎo)致算法的復(fù)雜度增加。這是因?yàn)閯?dòng)態(tài)規(guī)劃算法需要為每個(gè)子問(wèn)題都存儲(chǔ)一次結(jié)果,這會(huì)增加算法的復(fù)雜度。

3.子問(wèn)題重疊可能會(huì)導(dǎo)致算法的實(shí)現(xiàn)難度增加。如果一個(gè)問(wèn)題存在大量重復(fù)的子問(wèn)題,則使用動(dòng)態(tài)規(guī)劃算法解決該問(wèn)題可能會(huì)導(dǎo)致算法的實(shí)現(xiàn)難度增加。這是因?yàn)閯?dòng)態(tài)規(guī)劃算法需要為每個(gè)子問(wèn)題都存儲(chǔ)一次結(jié)果,這會(huì)增加算法的實(shí)現(xiàn)難度。子問(wèn)題重疊的優(yōu)點(diǎn):

1.可重復(fù)利用計(jì)算結(jié)果,減少計(jì)算量:在解決樹(shù)狀結(jié)構(gòu)問(wèn)題時(shí),由于問(wèn)題的子問(wèn)題具有相同或相似的結(jié)構(gòu),因此可以通過(guò)存儲(chǔ)和重復(fù)利用先前計(jì)算的結(jié)果來(lái)避免重復(fù)計(jì)算,從而減少計(jì)算量。

2.可以使用更高級(jí)的數(shù)據(jù)結(jié)構(gòu):由于子問(wèn)題重疊的性質(zhì),可以使用更高級(jí)的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和組織問(wèn)題和子問(wèn)題,從而提高算法的效率。例如,可以使用哈希表來(lái)存儲(chǔ)和查找子問(wèn)題的解決方案,或者可以使用記憶化搜索算法來(lái)避免重復(fù)計(jì)算。

3.可以方便地使用動(dòng)態(tài)規(guī)劃算法:動(dòng)態(tài)規(guī)劃算法是一種解決優(yōu)化問(wèn)題的常用方法,它通過(guò)存儲(chǔ)和重復(fù)利用子問(wèn)題的最優(yōu)解來(lái)求解整個(gè)問(wèn)題。動(dòng)態(tài)規(guī)劃算法非常適合解決子問(wèn)題重疊的問(wèn)題,因?yàn)樽訂?wèn)題的最優(yōu)解可以很容易地被存儲(chǔ)和重復(fù)使用。

子問(wèn)題重疊的缺點(diǎn):

1.可能導(dǎo)致內(nèi)存消耗過(guò)大:在某些情況下,子問(wèn)題重疊可能會(huì)導(dǎo)致內(nèi)存消耗過(guò)大。例如,如果問(wèn)題規(guī)模很大,而且子問(wèn)題的數(shù)量非常多,那么存儲(chǔ)所有子問(wèn)題的解決方案可能會(huì)占用大量的內(nèi)存。

2.可能導(dǎo)致算法的執(zhí)行時(shí)間過(guò)長(zhǎng):雖然子問(wèn)題重疊可以減少計(jì)算量,但它也可能導(dǎo)致算法的執(zhí)行時(shí)間過(guò)長(zhǎng)。這是因?yàn)?,為了存?chǔ)和重復(fù)利用子問(wèn)題的解決方案,算法需要做額外的工作,這可能會(huì)延長(zhǎng)算法的執(zhí)行時(shí)間。

3.可能導(dǎo)致算法的復(fù)雜性增加:子問(wèn)題重疊可能會(huì)導(dǎo)致算法的復(fù)雜性增加。這是因?yàn)?,為了存?chǔ)和重復(fù)利用子問(wèn)題的解決方案,算法需要做額外的工作,這可能會(huì)增加算法的復(fù)雜性。第八部分子問(wèn)題重疊的改進(jìn)方法關(guān)鍵詞關(guān)鍵要點(diǎn)基于記憶化的子問(wèn)題重疊優(yōu)化

1.采用自頂向下的方式對(duì)問(wèn)題進(jìn)行遞歸求解,并使用哈希表或其他數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)已經(jīng)計(jì)算過(guò)的子問(wèn)題的解,當(dāng)遇到相同子問(wèn)題時(shí),直接從哈希表中檢索結(jié)果,避免重復(fù)計(jì)算。

2.這種方法可以顯著減少計(jì)算量,尤其是對(duì)于規(guī)模較大的問(wèn)題。但是,它需要額外的空間來(lái)存儲(chǔ)子問(wèn)題的解,因此可能不適用于內(nèi)存受限的情況。

基于啟發(fā)式算法的子問(wèn)題重疊優(yōu)化

1.使用啟發(fā)式算法來(lái)指導(dǎo)搜索過(guò)程,以便在較短的時(shí)間內(nèi)找到問(wèn)題的近似解。啟發(fā)式算法可以包括貪心算法、蟻群算法、粒子群算法等。

2.啟發(fā)式算法通常不能保證找到最優(yōu)解,但它們可以快速地找到一個(gè)相對(duì)較好的解,在一些情況下,這可能比精確求解更可取。

基于并行計(jì)算的子問(wèn)題重疊優(yōu)化

1.將問(wèn)題分解成多個(gè)子問(wèn)題,并同時(shí)在不同的處理器上計(jì)算這些子問(wèn)題。當(dāng)所有子問(wèn)題都計(jì)算完成之后,將結(jié)果組合起來(lái)得到問(wèn)題的最終解。

2.并行計(jì)算可以顯著提高計(jì)算速度,尤其是對(duì)于規(guī)模較大的問(wèn)題。但是,它需要特殊的硬件和軟件支持,而且可能存在通信和同步開(kāi)銷。

基于分布

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論