我想找到一种快速算法,以便找到与平面上给定点最近的x个点。我们实际上处理的点并不多(在1,000到100,000之间),但我需要这些点中的每一个点的x个最近点。(其中x通常介于5和20之间。)我需要用C#编写它。关于用例的更多上下文:这些点是map上的坐标。(我知道,这意味着我们并不是在谈论一个平面,但我希望避免处理投影问题。)在端点附近有很多其他点应该显示为红色,没有太多的点靠近它们的点应显示为绿色。在这两个极端之间,点在颜色渐变上。 最佳答案 您需要的是适合组织平面中点的数据结构。K-D-Tree经常用于这种情况。参见k-dtr
我的目标是为长度为42个不区分大小写的字母数字字符的字符串生成一个6个字符的短哈希字符串(可能包含字符[A-Z][a-z][0-9])。唯一性是关键要求。安全性或性能并不是那么重要。是否有特定的算法可以给出此结果,或者我应该坚持截断MD5哈希或SHA-1哈希(Likeinthisquestion)?如果是,发生碰撞的概率是多少? 最佳答案 最好的选择是截断众所周知的散列函数(MD5或SHA系列),因为这些算法具有统计上良好的散列值均匀分布(并且还使用完整的散列,而不仅仅是6个字符)。现在一些碰撞概率的计算-Numberoflette
在C#.net平台上避免SQL注入(inject)的最佳方法是什么。如果有的话,请发布C#实现。 最佳答案 不需要算法-只是不使用字符串连接来构建SQL语句。请改用SqlCommand.Parameters集合。这会执行所有必要的值转义(例如将'替换为'')并确保该命令是安全的,因为其他人(即Microsoft)已经完成了所有测试.例如调用存储过程:using(varconnection=newSqlConnection("..."))using(varcommand=newSqlCommand("MySprocName",conn
请耐心等待这个略显冗长的描述,但我在C#屏幕抓取ASP.NETWeb表单页面时遇到了一个奇怪的问题。我正在尝试执行的步骤如下:-1)该站点使用基于HTTPS的基本身份验证进行保护,因此我需要正确登录。2)我正在页面上执行GET请求以检索__VIEWSTATE值(如果我不设置这个东西,该死的东西什么都不做!)3)登录后,有几个表单字段要完成,然后是一个提交按钮,该按钮将表单发布到服务器4)当按下提交按钮时,表单被POST到服务器,响应是相同的页面和表单,但现在表单底部有一个额外的小HTML表,我需要获取一些数据。到目前为止,我已经设法使用WebClient类对登录和表单发布进行了排序。我
我目前正在寻找一种简单且轻量级的算法来比较两个简单的字符串。例如,如果我们采用这两个字符串:“敏捷的棕色狐狸跳过懒惰的狗”“聪明的棕色狐狸战胜了疯狗”它应该告诉我第二个单词的两个首字母不同,等等。现在我有一个比较单词的非常简单的算法://////Makeadiffbetweentwostringsandreturnswordsindices////////////publicstaticListDiff(stringa,stringb){Listindices=newList();string[]asplit=a.Split('');string[]bsplit=b.Split('')
这是一道算法题,我有解法但是有性能问题。QuestionDescriptionTherearenvariablesandmrequirements.Requirementsarerepresentedas(xInputFormat:Firstlineoftheinputcontainstwointegersnandm.Thenfollowingmlineseachcontaining2space-seperatedintegersxandy,whichmeansarequirement(xOutputFormat:Outputtheanswerinoneline.Constraints
现在,每个遗传C#库(A.Forge、遗传算法框架、GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.由于我的问题涉及两个AI相互对抗,因此单独评估它们的适应性有点困难。虽然游戏足够简单,可以创建一些表面障碍(AI不直接交互,但障碍会发送给其他游戏),这会让我获得一些抽象的适应性,但这并不是“真正的”交易.这些库似乎也没有提供我可以实现这种评估方法的另一个接口(interface)。是否有其他框架允许这样做,还是我需要从头开始? 最佳答案 每个遗传算法库都应该有一些方法供您定义适应度
想象一下下面的类型:publicstructAccount{publicintId;publicdoubleAmount;}同步两个的最佳算法是什么IList在C#2.0中?(没有linq)?第一个列表(L1)是引用列表,第二个(L2)是根据第一个来同步的:L2中不再存在于L1中的所有帐户必须从L2中删除必须更新L1中仍然存在的L2中的所有帐户(金额属性)所有在L1中但尚未在L2中的帐户必须添加到L2Id标识帐户。找到一种朴素且有效的算法并不难,但我想知道是否有一种智能解决方案可以在不破坏可读性和性能的情况下处理这种情况。编辑:帐户类型无关紧要,可以是一个类,具有属性、相等成员等。L1
今天偶然发现了这个,我找不到任何相关信息。所以这就是为什么我在这里问。也许有人知道为什么。我在我的web.config中添加了自定义WCF行为扩展。它看起来像这样:(那里没有空格:MyNs.TracingErrorBehaviorElement,MyNs)它在我的开发机器、我们的临时服务器、我们的实时服务器等上运行得非常好。今天我们在客户服务器上安装了产品,但出现以下异常:System.Configuration.ConfigurationErrorsException:Anerroroccurredcreatingtheconfigurationsectionhandlerforsy
对于在WindowsXP/Vista/7/8上运行的.NET(任何版本)——是否可以为全屏应用程序保留一个屏幕并在其上显示数据/图形/任何内容,同时保持任何其他屏幕可供使用WindowsUI用户交互,例如桌面或其他应用程序?这里的使用场景/规则如下:PC必须能够按原样运行所有程序。.NET内容不需要交互(即不需要按键、鼠标点击等)。其他应用程序的其他UI或对话框无法穿透为显示.NET可执行文件的输出而保留的一个预定义屏幕。具有.NET内容的预定义屏幕不得有可见的鼠标光标,并且其他屏幕必须有其光标边界,就好像根本没有额外的屏幕一样(即光标必须停在鼠标光标的边缘)一个或多个桌面)。即使PC