Algorithm DP的递推关系?
假设您有一本包含有效单词的词典 给定一个删除了所有空格的输入字符串,确定该字符串是否由有效单词组成 您可以假设字典是提供O(1)查找的哈希表Algorithm DP的递推关系?,algorithm,dynamic-programming,text-segmentation,Algorithm,Dynamic Programming,Text Segmentation,假设您有一本包含有效单词的词典 给定一个删除了所有空格的输入字符串,确定该字符串是否由有效单词组成 您可以假设字典是提供O(1)查找的哈希表 请给出此项的递归关系。我在一本书中发现了这个问题,但这本书没有给出答案?这是我为最近的代码高尔夫开始开发的Mathematica代码。 它是一种最小匹配、非贪婪的递归算法。这意味着“笔比剑强大”(不带空格)这句话返回{“笔比剑强大”}:) 输出 twodreamstop = two dreams top onebackstop
请给出此项的递归关系。我在一本书中发现了这个问题,但这本书没有给出答案?这是我为最近的代码高尔夫开始开发的Mathematica代码。
它是一种最小匹配、非贪婪的递归算法。这意味着“笔比剑强大”(不带空格)这句话返回{“笔比剑强大”}:) 输出
twodreamstop = two dreams top
onebackstop = one backstop
butterfingers = butterfingers
dependentrelationship = dependent relationship
payperiodmatchcode = pay period match code
labordistributioncodedesc ~ labor distribution coded es c
benefitcalcrulecodedesc ~ benefit c a lc rule coded es c
psaddresstype ~ p sad dress type
ageconrolnoticeperiod ~ age con rol notice period
month05 ~ month 05
as_benefits ~ as _ benefits
fname ~ f name
HTH你在提出算法或找到算法的递归关系方面有困难吗?@Mark:递归关系如果你只是在找到递归关系方面有困难,为什么不在你的帖子中描述算法?这是一种递归关系吗?动态规划递归关系通常是顶级的向下。这个是自下而上的。我不知道它是怎么出现的so@spinning_plate我不认为这是正确的。如果字典中的任何单词是前缀导致有效的分段,则您希望返回true。您将在找到前缀后立即返回,无论它是否是答案。@Programmer-它是如何自下而上的?它从完整字符串并将其分解为子问题?
ss = {"twodreamstop",
"onebackstop",
"butterfingers",
"dependentrelationship",
"payperiodmatchcode",
"labordistributioncodedesc",
"benefitcalcrulecodedesc",
"psaddresstype",
"ageconrolnoticeperiod",
"month05",
"as_benefits",
"fname"}
twodreamstop = two dreams top
onebackstop = one backstop
butterfingers = butterfingers
dependentrelationship = dependent relationship
payperiodmatchcode = pay period match code
labordistributioncodedesc ~ labor distribution coded es c
benefitcalcrulecodedesc ~ benefit c a lc rule coded es c
psaddresstype ~ p sad dress type
ageconrolnoticeperiod ~ age con rol notice period
month05 ~ month 05
as_benefits ~ as _ benefits
fname ~ f name
IsWordValid(S) = for word in dict:
if S.startsWith(word) and IsWordValid(S[word.length:])
return true
return false
IsWordValid(null) = true