草庐IT

genetic-algorithm

全部标签

algorithm - TCP/IP 高效包过滤

我正在尝试创建一种算法,根据源和目标IP地址以及目标和源端口来过滤TCP/IP数据包。基本上,我有一组指定IP地址范围的规则,例如192.168.0.0/24,用于目标和源IP地址以及目标和源端口的等效地址([1:65535])。简而言之,给定一个数据包,我想找出哪些规则与其IP地址和端口相关。目前我唯一的想法是从源IP地址或目标IP地址构建一个Trie,这将快速过滤其中一个,但仍然需要对其余参数进行线性搜索并导致O(n)用于n规则。有没有更好的方法可以降低时间复杂度? 最佳答案 假设您将IP编码为[0,2^32]范围内的整数,您可

algorithm - Nagle 算法、ACK 延迟和 Rlogin 回显

我也被建议在这里问,因为关于协议(protocol)的具体问题是主题,但如果有人感兴趣,这个问题也有一个小赏金ServerFault.我正在阅读有关TCP数据流、延迟ACK和Nagle算法的内容。到目前为止我的理解是:TCP上的DelayedACK实现对接收到的段的确认产生了延迟,从而使应用程序有机会在确认的同时写入一些数据,从而避免发送空的ACK数据包并有助于网络拥塞。Nagle的算法实现声明您不能发送一个小的TCP段,而另一个小段仍未被确认。这避免了流量加载多个tinygrams。在某些交互式应用程序中,例如Rlogin,Nagle算法和延迟确认可能会“冲突”:Rlogin在我们键

swift - DP Coin Change Algorithm - 从表中检索硬币组合

为了找到给定硬币[1,2,3]的数量4我们有多少种找零的方法,我们可以创建一个DP算法来产生下表:table[amount][coins.count]01234-----------(0)1|11111(1)2|11223(2)3|11234最后一个位置是我们的答案。答案是4因为我们有以下组合:[1,1,1,1],[2,1],[2,2],[3,1].我的问题是,是否可以从我刚刚生成的表中检索这些组合?怎么办?为了完整起见,这是我的算法funccoinChange(coins:[Int],amount:Int)->Int{//int[amount+1][coins]vartable=Ar

algorithm - 间接枚举或类,我应该使用哪个来构建基本数据结构

当我尝试通过在Swift2中实现它们来练习一些基本的数据结构,例如Linked/DoublyLinked/RecyclingLinked/RecyclingDoublyLinkedList、AVLTree、Red-BlackTree、B-Tree和Treap,我决定通过利用Swift2的新特性:间接枚举来做这些事情,因为枚举使空节点和填充节点比类更具语义。但是很快发现对于非循环链表来说,插入一个元素后返回插入的节点是没有意义的,因为返回的值是值类型而不是引用类型。据说你不能通过直接向返回值写入信息来加速下一次插入,因为它是插入节点的副本而不是对插入节点的引用。更糟糕的是,改rebase

algorithm - 将数字转换为特定范围内的等效数字

我做某事有困难,我想将一个数字转换为给定范围内的“等价”。虽然这个概念真的很简单,但很难解释,所以我会尽力而为。假设您有无限行瓷砖,但尽管有无限数量的瓷砖,但重复的是完全相同的颜色图案,如下所示:如您所见,我为每个图block指定了一个数字,但我们可以取一个范围,从0到4,然后说:0是紫色1是蓝色2是红色的3是绿色4是黄色的但是因为这种颜色模式无限重复,实际上,5与0的颜色相同,6与1的颜色相同,8与3的颜色相同。此外,我们不能忘记负​​数,例如-1与4具有相同的颜色。实际上我想做的是将任何给定的数字转换成我选择的范围内的数字,这里是[0;4]范围,这样我就会知道什么颜色对应于这个特定

algorithm - Swift 中的字数统计

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion用Swift编写简单的字数统计函数的更优雅的方法是什么?//ReturnsadictionaryofwordsandfrequencytheyoccurinthestringfuncwordCount(s:String)->Dictionary{varwords=s.componentsSeparatedByString("")varwordDictionary=Dictionary()forwordin

algorithm - 检查一个点是否在一个简单的多边形内

我正在尝试确定一个点是否位于多边形内部。我使用来自thiswebsite的以下(针对Swift修改)算法:funccontains(polygon:[Point],test:Point)->Bool{letcount=polygon.countvari:Int,j:Intvarcontains=falsefor(i=0,j=count-1;i=test.y)!=(polygon[j].y>=test.y))&&(test.x但是,当具有具有以下坐标的简单多边形时:(x:0,y:40),(x:0,y:0),(x:20,y:0),(x:20,y:20),(x:40,y:20),(x:40,

java - SSL 握手异常 : "Algorithm constraints check failed: MD5withRSA"

我尝试安装OracleEntitlementsServerClient。当我打电话时config.cmd-smConfigIdSample-SM-prpFileNameC:\oracle\product\11.1.2\as_1\oessm\SMConfigTool\smconfig.java.controlled.prp我得到了这个异常:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathvalidationfailed:java.security.cert.Cert

java - 欧拉计划 #14 : Why is my TreeMap algorithm slower than brute force?

背景:我几年前在学校里第一次学习C++和Java,但在过去的9年左右时间里我没有做过太多编程,因为我以前的职业不需要它。我决定研究ProjectEuler以温习我的编程并解决了问题14,该问题要求找到最长Collat​​z序列的1到100万之间的整数。(Collat​​z序列继续进行,给定一个起始数字,将该数字乘以3,如果是奇数则加1,如果是偶数则将其减半。该过程一直持续到数字达到1。)我首先使用蛮力解决了这个问题,如下面的代码所示。intn;longtemp;//longisnecessarysincesomeCollatzsequencesgooutsidescopeofintin

python : Ramer-Douglas-Peucker (RDP) algorithm with number of points instead of epsilon

我想为RDPalgorithm修改以下python脚本目的是不使用epsilon而是选择我想在最后保留的点数:classDPAlgorithm():defdistance(self,a,b):returnsqrt((a[0]-b[0])**2+(a[1]-b[1])**2)defpoint_line_distance(self,point,start,end):if(start==end):returnself.distance(point,start)else:n=abs((end[0]-start[0])*(start[1]-point[1])-(start[0]-point[0]