178 新增與搜尋單詞 資料結構設計

2021-09-25 12:51:18 字數 846 閱讀 4619

題目描述;

設計乙個支援以下兩種操作的資料結構:

void addword(word)

bool search(word)

search(word) 可以搜尋文字或正規表示式字串,字串只包含字母 . 或 a-z 。 . 可以表示任何乙個字母。

示例:addword(「bad」)

addword(「dad」)

addword(「mad」)

search(「pad」) -> false

search(「bad」) -> true

search(".ad") -> true

search(「b…」) -> true

說明:你可以假設所有單詞都是由小寫字母 a-z 組成的。

class mytree

mytree tree ;

public worddictionary()

public void addword(string word)

node = node.child[tem - 'a'];

} node.isend = true;

}public boolean search(string word)

public boolean search(string word,mytree node,int index)

if(index == word.length())

char tem = word.charat(index);

if(tem == '.')}}

return false;

}else else

} }}

211 新增與搜尋單詞 資料結構設計

題目描述 如果資料結構中有任何與word匹配的字串,則bool search word 返回true,否則返回false。單詞可能包含點 點可以與任何字母匹配的地方。請你設計乙個資料結構,支援 新增新單詞 和 查詢字串是否與任何先前新增的字串匹配 實現詞典類 worddictionary wordd...

搜尋與資料結構

最簡單的搜尋當然分為兩種,深度優先搜尋和廣度優先搜尋。這兩種演算法分別採用了棧和佇列的資料結構來實現。對於深搜,優化方法通常是各種剪枝,主要包括最優化剪枝和可行性剪枝。對於廣搜,優化方式通常是進行重複去除和優先搜尋。通常都說能用深搜不用廣搜,其實在一定條件下確實有道理。在很多情況下,深度優先搜尋通常...

資料結構與演算法 搜尋

搜尋是在乙個專案集合中找到乙個特定專案的演算法過程,返回乙個布林值。搜尋的幾種常見方法 順序查詢 二分法查詢 二叉樹查詢 雜湊查詢 二分查詢也叫折半查詢,優點是比較次數少,但是只能是在有序的序列中才能用此方法,查詢過程 首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果...