A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tercel 中级黑马   /  2014-10-9 22:34  /  1423 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

         最近在公司实习了两个月,做的是大数据,感触挺深的,我做的是底层数据抽取模块,算法真的很重要,我是用trie书,Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。
Trie树的操作

    在Trie树中主要有3个操作,插入、查找和删除。一般情况下Trie树中很少存在删除单独某个结点的情况,因此只考虑删除整棵树。

1.插入

  假设存在字符串str,Trie树的根结点为root。i=0,p=root。

  1)取str[i],判断p->next[str[i]-97]是否为空,若为空,则建立结点temp,并将p->next[str[i]-97]指向temp,然后p指向temp;

   若不为空,则p=p->next[str[i]-97];

  2)i++,继续取str[i],循环1)中的操作,直到遇到结束符'\0',此时将当前结点p中的isStr置为true。

2.查找

  假设要查找的字符串为str,Trie树的根结点为root,i=0,p=root

  1)取str[i],判断判断p->next[str[i]-97]是否为空,若为空,则返回false;若不为空,则p=p->next[str[i]-97],继续取字符。

  2)重复1)中的操作直到遇到结束符'\0',若当前结点p不为空并且isStr为true,则返回true,否则返回false。

3.删除

  删除可以以递归的形式进行删除。
感觉算法太重要了

评分

参与人数 2黑马币 +25 收起 理由
Droids + 12 赞一个!
xingkongxia + 13 赞一个!

查看全部评分

11 个回复

倒序浏览
suoxidong 来自手机 中级黑马 2014-10-10 07:04:39
沙发
感觉很高端
回复 使用道具 举报
不明觉厉……
回复 使用道具 举报
楼主工作了?大数据工作方向是啥?待遇可好?
回复 使用道具 举报
Afridoce 来自手机 高级黑马 2014-10-10 22:30:28
报纸
同问楼上问题
回复 使用道具 举报
什么是算法....
回复 使用道具 举报
Chills719 来自手机 中级黑马 2014-10-11 14:33:33
7#
厉害!!!!!
回复 使用道具 举报
了解了               
回复 使用道具 举报
SenGoo 中级黑马 2014-10-18 19:41:28
9#
同问!大数据工作方向及待遇?
回复 使用道具 举报
大数据前景怎么样
回复 使用道具 举报
chensc 金牌黑马 2014-11-14 19:35:19
11#
学习学习!
回复 使用道具 举报
前景怎样啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马