jjzjj

algorithms

全部标签

algorithm - 谷歌算法的文件结构

我对谷歌算法的文件结构有疑问。与在htaccess文件中使用重写规则相比,为您的站点使用物理文件结构会有所不同吗?谷歌会知道区别吗?比如public_html/index.phpabout/index.phpother/index.php或者使用重写规则将文件名更改为目录public_html/index.phpabout.phpother.php我对htaccess的东西不是很好,但我认为脚本可以吗?RewriteEngineOnRewriteCond%{SCRIPT_FILENAME}!-dRewriteCond%{SCRIPT_FILENAME}!-fRewriteRule^(\

algorithm - 从给定文本生成关键字的最佳方法是什么?

我想为我的CMS生成关键字。有人知道生成关键字的好PHP脚本(或其他脚本)吗?我有一个这样的HTML站点:http://pastebin.com/ZU8vdyeP 最佳答案 这是计算机很难解决的问题。让某人(其他人?)手动执行或根本不执行会容易得多。如果你真的需要一台电脑来做这件事,我会去优秀的Python库NLTK它有许多用于此类事情的工具(=自然语言处理),并且使用起来很有趣。例如,您可以计算单词的频率分布,然后搜索出现频率最高的较大(超过5个字符)单词的最常见上位词,并将其用作关键字可能的提示。不过,人工完成要容易得多。

algorithm - 谷歌抓取索引算法

我正在寻找一些关于Google如何抓取和索引内容的文档。我阅读了许多关于如何提高排名和确保内容被正确编入索引的“简单”论文和文章,但我正在寻找一些关于Google如何抓取和索引内容的更高级的技术文档。我想了解更多的事情:Google在抓取时寻找哪些元素:页面内容、URL格式、关键字、描述等...索引是如何更新的?基本上,我试图理解为什么有些页面被编入索引,而其他页面却没有被编入索引,即使格式相似也是如此。为什么当我在整个域中进行搜索时,即使我可以在我的服务器日志中看到Google抓取了每个链接,我的网站页面也只有10%出现。 最佳答案

algorithm - 索引句子的最佳算法

想象一下,我需要为句子编制索引。让我更深入地解释一下。例如我有这些句子:美丽的天空。美丽的天空梦想。美丽的梦。据我所知,索引应该是这样的:alttexthttp://img7.imageshack.us/img7/4029/indexarb.png但我也想通过这些词中的任何一个进行搜索。例如,如果我按“the”进行搜索,它应该显示给我与“beautiful”的联系。如果我按“美丽”搜索,它应该会给我与(上一个)“The”、(下一个)“sky”和“dream”的联系。如果我按“天空”搜索,它应该给出(以前的)与“美丽”等的联系......有什么想法吗?也许您知道解决此类问题的现有算法?

algorithm - 网格简化 : Edge Collapse Conditions

我正在尝试通过进行一系列边缘折叠来实现网格简化算法。目前,我正在遍历每个三角形,然后折叠最短边,算法稳定(不会越界)。但在一定程度上,它开始创建破损(孔)工件。确定边是否可折叠以使其不会导致非流形工件(或网格)的正确方法是什么?注意:我使用的是半边数据结构。此外,我不想使用任何外部库,如OpenMesh或CGAL。我有不使用它们的理由。 最佳答案 边缘塌陷有两个主要条件:连通性在折叠边的每一侧,只有一对边必须合并。这可以通过计算两个合并顶点的联合相邻顶点来检查(必须恰好有两个)。考虑以下红色边缘折叠的示例:橙色和青色边缘之间的三角形

c++ - 我可以通过 for_each <algorithm> 在 C++ 中的指针 vector 上调用 `delete` 吗?

假设我有一个std::vectorobjs(出于性能原因,我的指针不是实际的Objs)。我用obj.push_back(newObj(...));填充它反复。完成后,我必须delete被推回的元素。一种方法是这样做:for(std::vector::iteratorit=objs.begin();it!=objs.end();++it){delete*it;}但是,如果我可以使用for_each我很感兴趣算法做同样的事情:#include...for_each(objs.begin(),objs.end(),delete);你怎么看? 最佳答案

c++ - Clang 无法识别 <algorithm> 中的 std::all_of

在我们的测试环境中编译时遇到了以下问题:尽管窗口已经在工作,但我们在Freebsd9上的构建失败并显示以下错误消息:error:nomembernamed'all_of'innamespace'std'鉴于我将-std=c++11添加到我们的Cmake标志中,我想知道为什么这不起作用。clangversion3.4(tags/RELEASE_34/final)Target:i386-portbld-freebsd9.1Threadmodel:posix函数如下#include...inlineboolis_positive_number(conststd::string&str){if

algorithm - 使用一组质数按升序生成整数

我有一组素数,我必须仅使用这些素数按升序生成整数。例如,如果集合是p={2,5}那么我的整数应该是1,2,4,5,8,10,16,20,25,...有没有什么高效的算法可以解决这个问题? 最佳答案 删除一个数字并将它的所有倍数(通过集合中的质数)重新插入优先级队列是错误的(在问题的意义上)-即它生成正确的序列,但效率低下。它在两个方面效率低下-首先,它过度生产序列;其次,每个PriorityQueue操作都会产生额外的成本(操作remove_top和insert通常不是O(1),当然不在任何列表中-或基于树的PriorityQueu

c++ - boost::algorithm - 拆分字符串返回一个额外的标记

也许有人可以告诉我这里发生了什么?我的意图是在大括号上拆分输入字符串:即:'('或')'。对于"(well)hello(there)world"的输入字符串,我希望返回4个标记:well;你好;那里;世界。正如您从下面我的示例应用程序中看到的那样,我得到了5个token(第一个是空字符串)。有什么方法可以让它只返回非空字符串吗?#include#include#includeintmain(){std::stringin="(well)hello(there)world";std::vectortokens;boost::split(tokens,in,boost::is_any_of

c++ - 查找 MST 的关键边缘 : possible with modified Prim's algorithm?

我在寻找“临界边缘”问题的解决方案时遇到了这个问题。我已经解决的原始(C++)问题是:ConsideragraphG=(V,E).FindhowmanyedgesbelongtoallMSTs,howmanyedgesdonotbelongtoanyMSTandhowmanyedgesbelongtosomeMSTs,butnotall.我们分别称“绿色”、“红色”和“黄色”为上述3种情况中的边缘。在进行研究后,我遇到了FindallcriticaledgesofanMST,这解决了问题。一个人会运行Kruskal算法的修改版本:如果相同权重的两条或更多条边连接相同的组件,从而形成一个