- 讲师:刘萍萍 / 谢楠
- 课时:160h
- 价格 4580 元
特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关
配套通关班送国网在线题库一套
if (child == NULL)//父节点point下没有首字母相同的子节点
{ //将str中剩余的字符串保存在left中
left.erase(left.begin(),left.end());
while(!s.empty())
{
left.insert(left.end(),s.top());
s.pop();
}
return (2);
}
target = s.top(); //
s.pop();
if (1)
{
//child节点下的每个字符与str中的字符顺序比较
for (i = 0; i strdata.length()-1); i++)
{
if (child->strdata[i] ==target)
{
if (!s.empty())
{
target = s.top();
s.pop();
continue;
}
else return(0); //若str中的字符串先于strdata中的字符串完成比较,则说明该字符 //串已经包含在树中
}
else //比较中出现不同,需要分裂节点
{
point = child; //point指向要分裂的节点
left.erase(left.begin(),left.end()); //将str中剩余的字符串写入left
s.push(target);
while(!s.empty())
{
left.insert(left.end(),s.top());
s.pop();
}
point->breakpoint =i; //写入父节点point的分裂点
return (-1); //分裂节点
}
}
point = child; //走出循环则进行下一个节点的搜索
if (!point->flag)//判断刚刚搜索的是否为叶节点,若是则停止搜索
{
left.erase(left.begin(),left.end());
s.push(target);
while(!s.empty())
{
left.insert(left.end(),s.top());
s.pop();
}
return (1);
}
s.push(target);
child = NULL;
}
}
//字符串str搜索完成,仍没有到达叶节点,返回0
return(0);
}
voidCSuffixTree::Show(mynode m_pSTreeRoot)
{
vector bIsEnd;
bIsEnd.push_back(0);
cout
责编:罗莉
课程专业名称 |
讲师 |
课时 |
查看课程 |
---|
课程专业名称 |
讲师 |
课时 |
查看课程 |
---|
点击加载更多评论>>