智慧型資訊檢索 兩個倒排記錄表的合併演算法

2021-10-05 06:55:44 字數 1550 閱讀 2644

《資訊檢索導論》部分實驗python實現彙總請進入此部落格檢視。

使用者通過提示輸入兩個倒排記錄表,系統自動實現倒排記錄表的合併,並將合併結果輸出。

分為提示輸入模組與倒排記錄表計算模組兩個功能模組。

總體流程圖:

各功能模組流程圖:

提示輸入模組

倒排記錄表計算模組

("輸入第乙個詞項的倒排記錄表,文件id之間用「,」分隔:"

, end ='')

p1 =

input()

.split(

",")

p1 =

[int

(i)for i in p1]

print

("輸入第二個詞項的倒排記錄表,文件id之間用「,」分隔:"

, end ='')

p2 =

input()

.split(

",")

p2 =

[int

(i)for i in p2]

#p1 = [1,2,3]

#p2 = [3,4,5]

print

("合併結果為:"

, intersect(p1, p2)

)intersect函式為倒排記錄表計算模組,首先通過len函式獲取倒排記錄表長度,然後通過下標迴圈獲取記錄表元素,通過數值判斷合併記錄表並儲存到新的列表中,最終返回該結果列表。

input函式獲取使用者輸入字串,split(「,」)函式對字串進行切分,[int]方法則將字串轉化為數值列表。

注釋掉的部分為除錯的過程。

輸入倒排記錄表[1,2,3]和[2,3,4]得到合併結果如下圖。

資訊檢索 倒排記錄表合併演算法實現(python)

倒排記錄表合併演算法偽 如下所示 執行程式,看到提示 請輸入詞項word1 輸入某個倒排記錄表的詞項。執行程式,看到提示 請輸入word1的倒排記錄表 輸入 1,停止輸入倒排記錄表 時,輸入 步驟詞項的倒排記錄表,當輸入 1時停止輸入此倒排記錄表。執行程式,看到提示 請輸入詞項word2 輸入某個倒...

175 組合兩個表

表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵 表2 address 列名 型別 addressid int personid int city varchar state varchar ...

175 組合兩個表

sql架構 表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵 表2 address 列名 型別 addressid int personid int city varchar state va...