草庐IT

递归算法

全部标签

c# - 流行网站帖子的流行度衰减算法

我正在寻找一种算法来按受欢迎程度对网站结果进行排序。就像Reddit一样,帖子越旧,其投票/分数的影响力就越小。这是reddit使用的普遍接受的解决方案:t=(timeofentrypost)-(Dec8,2005)x=upvotes-downvotesy={1ifx>0,0ifx=0,-1ifx我已经研究过Reddit的算法,虽然它适用于一种情况,但我真正需要的是两种算法,一种用于热门帖子,另一种用于即将发布的帖子:热门帖子即将发布的帖子受欢迎度会衰减得更慢,对稍旧的帖子给予更多权重,而即将发布的帖子将更多地关注今天的热门帖子,在N小时/天/等后急剧下降。我正在使用Sphinx表达式

c# - SSH.NET SFTP 递归获取目录和文件列表

我正在使用Renci.SshNet库通过SFTP递归地获取文件和目录列表。我可以连接SFTP站点,但我不确定如何在C#中递归获取目录和文件列表。我还没有找到任何有用的例子。有人试过吗?如果是这样,您能否发布一些有关如何递归获取这些文件和文件夹的示例代码。谢谢,真理 最佳答案 这个库有一些怪癖使这个递归列表变得棘手,因为ChangeDirectory和ListDirectory之间的交互并不像您预期​​的那样工作。以下内容不列出/home目录中的文件,而是列出/(根)目录中的文件:sftp.ChangeDirectory("home"

c# - 快速算法找到 x 最接近平面上给定点的点

我想找到一种快速算法,以便找到与平面上给定点最近的x个点。我们实际上处理的点并不多(在1,000到100,000之间),但我需要这些点中的每一个点的x个最近点。(其中x通常介于5和20之间。)我需要用C#编写它。关于用例的更多上下文:这些点是map上的坐标。(我知道,这意味着我们并不是在谈论一个平面,但我希望避免处理投影问题。)在端点附近有很多其他点应该显示为红色,没有太多的点靠近它们的点应显示为绿色。在这两个极端之间,点在颜色渐变上。 最佳答案 您需要的是适合组织平面中点的数据结构。K-D-Tree经常用于这种情况。参见k-dtr

c# - 6字符短哈希算法

我的目标是为长度为42个不区分大小写的字母数字字符的字符串生成一个6个字符的短哈希字符串(可能包含字符[A-Z][a-z][0-9])。唯一性是关键要求。安全性或性能并不是那么重要。是否有特定的算法可以给出此结果,或者我应该坚持截断MD5哈希或SHA-1哈希(Likeinthisquestion)?如果是,发生碰撞的概率是多少? 最佳答案 最好的选择是截断众所周知的散列函数(MD5或SHA系列),因为这些算法具有统计上良好的散列值均匀分布(并且还使用完整的散列,而不仅仅是6个字符)。现在一些碰撞概率的计算-Numberoflette

c# - 如何使用 json.net 进行 json 的递归下降?

我正在尝试使用json.net解析一个json文件。该文件看起来像这样{X:{Title:"foo",xxxx:xxxx}}{Y:{ZZ:{Title:"bar",...}}}我正在尝试递归处理此结构,以处理所有具有Title属性的对象。但是我对JToken、JProperty、JContainer、JValue、JObject感到困惑。阅读源代码并没有让我变得更聪明,而且这些示例都没有帮助。我想要一些类似的东西WalkNode(node,Actionaction){foreach(varchildinnode.Children){Action(child);WalkNode(chil

c# - 如何递归加载 Azure blob 文件列表?

Azureblob文件存储在没有任何物理文件夹结构的普通列表中,但我们可以创建虚拟文件夹,其中每个文件的文件夹路径都是其名称的一部分。这带来了另一个问题,如何仅使用该文件夹的名称来检索虚拟子文件夹中所有文件的列表? 最佳答案 实际上,有一种更简单的方法可以做到这一点,并且它在库本身中可用。如果你看CloudBlobContainer.ListBlobs方法,它接受两个参数:prefix:这是您的目录名称。如果它是嵌套目录,则需要指定完整路径,例如我的文件夹/我的子文件夹。useFlatBlobListing:将此值设置为true将确

c# - 避免从 C# 代码在 MSSQL Server 上进行 SQL 注入(inject)的算法?

在C#.net平台上避免SQL注入(inject)的最佳方法是什么。如果有的话,请发布C#实现。 最佳答案 不需要算法-只是不使用字符串连接来构建SQL语句。请改用SqlCommand.Parameters集合。这会执行所有必要的值转义(例如将'替换为'')并确保该命令是安全的,因为其他人(即Microsoft)已经完成了所有测试.例如调用存储过程:using(varconnection=newSqlConnection("..."))using(varcommand=newSqlCommand("MySprocName",conn

c# - 简单词差异算法

我目前正在寻找一种简单且轻量级的算法来比较两个简单的字符串。例如,如果我们采用这两个字符串:“敏捷的棕色狐狸跳过懒惰的狗”“聪明的棕色狐狸战胜了疯狗”它应该告诉我第二个单词的两个首字母不同,等等。现在我有一个比较单词的非常简单的算法://////Makeadiffbetweentwostringsandreturnswordsindices////////////publicstaticListDiff(stringa,stringb){Listindices=newList();string[]asplit=a.Split('');string[]bsplit=b.Split('')

c# - 优化此 C# 算法

这是一道算法题,我有解法但是有性能问题。QuestionDescriptionTherearenvariablesandmrequirements.Requirementsarerepresentedas(xInputFormat:Firstlineoftheinputcontainstwointegersnandm.Thenfollowingmlineseachcontaining2space-seperatedintegersxandy,whichmeansarequirement(xOutputFormat:Outputtheanswerinoneline.Constraints

c# - 遗传算法中的锦标赛评估

现在,每个遗传C#库(A.Forge、遗传算法框架、GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.由于我的问题涉及两个AI相互对抗,因此单独评估它们的适应性有点困难。虽然游戏足够简单,可以创建一些表面障碍(AI不直接交互,但障碍会发送给其他游戏),这会让我获得一些抽象的适应性,但这并不是“真正的”交易.这些库似乎也没有提供我可以实现这种评估方法的另一个接口(interface)。是否有其他框架允许这样做,还是我需要从头开始? 最佳答案 每个遗传算法库都应该有一些方法供您定义适应度