当前位置: 首页 > news >正文

公司做外地网站怎样创建网站吉洋大鼓

公司做外地网站,怎样创建网站吉洋大鼓,黄页网络的推广网站有哪些软件,wordpress生成静态页MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 文章作者#xff1a;yx_th000 文章来源#xff1a;Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 转载请注明#xff0c;谢谢合作。关键词#xff1a;trie trie树 数据结构前几天学习了并查集和trie树yx_th000 文章来源Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 转载请注明谢谢合作。关键词trie trie树 数据结构    前几天学习了并查集和trie树这里总结一下trie。    本文讨论一棵最简单的trie树基于英文26个字母组成的字符串讨论插入字符串、判断前缀是否存在、查找字符串等基本操作至于trie树的删除单个节点实在是少见故在此不做详解。l        Trie原理Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。l        Trie性质好多人说trie的根节点不包含任何字符信息我所习惯的trie根节点却是包含信息的而且认为这样也方便下面说一下它的性质 (基于本文所讨论的简单trie树)1.    字符的种数决定每个节点的出度即branch数组(空间换时间思想)2.    branch数组的下标代表字符相对于a的相对位置3.    采用标记的方法确定是否为字符串。4.    插入、查找的复杂度均为O(len),len为字符串长度l        Trie的示意图如图所示该trie树存有abc、d、da、dda四个字符串如果是字符串会在节点的尾部进行标记。没有后续字符的branch分支指向NULLl        TrieTrie的优点举例已知n个由小写字母构成的平均长度为10的单词,判断其中是否存在某个串为另一个串的前缀子串。下面对比3种方法1.    最容易想到的即从字符串集中从头往后搜看每个字符串是否为字符串集中某个字符串的前缀复杂度为O(n^2)。2.    使用hash我们用hash存下所有字符串的所有的前缀子串。建立存有子串hash的复杂度为O(n*len)。查询的复杂度为O(n)* O(1) O(n)。3.    使用trie因为当查询如字符串abc是否为某个字符串的前缀时显然以b,c,d....等不是以a开头的字符串就不用查找了。所以建立trie的复杂度为O(n*len)而建立查询在trie中是可以同时执行的建立的过程也就可以成为查询的过程hash就不能实现这个功能。所以总的复杂度为O(n*len)实际查询的复杂度只是O(len)。解释一下hash为什么不能将建立与查询同时执行例如有串911911456输入如果要同时执行建立与查询过程就是查询911没有然后存入9、91、911查询911456没有然后存入9114、91145、911456而程序没有记忆功能并不知道911在输入数据中出现过。所以用hash必须先存入所有子串然后for循环查询。而trie树便可以存入911后已经记录911为出现的字符串在存入911456的过程中就能发现而输出答案倒过来亦可以先存入911456在存入911时当指针指向最后一个1时程序会发现这个1已经存在说明911必定是某个字符串的前缀该思想是我在做pku上的3630中发现的详见本文配套的“入门练习”。l        Trie的简单实现(插入、查询) 1 2#include iostream 3using namespace std; 4 5const int branchNum  26; //声明常量  6int i; 7 8struct Trie_node 9{10    bool isStr; //记录此处是否构成一个串。11    Trie_node *next[branchNum];//指向各个子树的指针,下标0-25代表26字符12    Trie_node():isStr(false)13    {14        memset(next,NULL,sizeof(next));15    }16};1718class Trie19{20public:21    Trie();22    void insert(const char* word);23    bool search(char* word); 24    void deleteTrie(Trie_node *root);25private:26    Trie_node* root;27};2829Trie::Trie()30{31    root  new Trie_node();32}3334void Trie::insert(const char* word)35{36    Trie_node *location  root;37    while(*word)38    {39        if(location-next[*word-a]  NULL)//不存在则建立40        {41            Trie_node *tmp  new Trie_node();42            location-next[*word-a]  tmp;43        }    44        location  location-next[*word-a]; //每插入一步相当于有一个新串经过指针要向下移动45        word;46    }47    location-isStr  true; //到达尾部,标记一个串48}4950bool Trie::search(char *word)51{52    Trie_node *location  root;53    while(*word  location)54    {55        location  location-next[*word-a];56        word;57    }58    return(location!NULL  location-isStr);59}6061void Trie::deleteTrie(Trie_node *root)62{63    for(i  0; i  branchNum; i)64    {65        if(root-next[i] ! NULL)66        {67            deleteTrie(root-next[i]);68        }69    }70    delete root;71}7273void main() //简单测试74{75    Trie t;76    t.insert(a);         77    t.insert(abandon);78    char * c  abandoned;79    t.insert(c);80    t.insert(abashed);81    if(t.search(abashed))82        printf(true\n);83} 转载于:https://www.cnblogs.com/MiYu/archive/2010/10/23/1859515.html
http://www.huolong8.cn/news/429362/

相关文章:

  • 市通建设工程质量监督局网站建设网站得目的
  • 一个虚拟主机如何建多个网站代码厦门网站推广找谁
  • 北京城乡建设和住房门户网站wordpress调用固定链接结构
  • 基层组织建设部网站上海seo推广价格
  • 建站快车优势南宁企业网站设计公司
  • 网站的网站建设企业苏州建设招聘信息网站
  • 青岛胶南做网站的wordpress网站特别卡
  • 如何开发wap网站如何做网站淘客
  • 自己做公司网站智能网站建设软件有哪些
  • 查公司的国家网站有哪些wordpress import
  • 淘宝网站建设违规吗温州建设银行官方网站
  • 中国商标买卖网站网络营销策划方案的结构
  • 用wordpress搭建商店高级seo是什么职位
  • 网站规划的解释82家合法现货交易所名单
  • 网站域名过期未续费怎么办网站建设阿里巴巴
  • 如何将html发布到网站opensearch wordpress
  • 网站安全检测漏洞扫描风险等级外贸网站建站k
  • 公司网站建设怎么做网站设计目的
  • 北京网站建站推广wordpress固定链接目录
  • 中文域名到期对网站的影响体育用品东莞网站建设
  • 数学建模网站建设网络品牌传播推广策略
  • 防火门 东莞网站建设wordpress 微软雅黑字体
  • 网站优化 seo和sem最新公司注册流程
  • 公司门户网站制作网站更新维护页面
  • 公众号微信商城南和网站seo
  • 国外对企业网站开发的研究专业网站建设设计公司
  • 中国建设银行公积金网站做爰全过程的视频的网站
  • 最早动画是如何做的视频网站app脚本制作教程
  • 建设工程质量安全管理协会网站新手制作网站工具
  • 做网站的工资高吗wordpress室内设计