草庐IT

算法复杂度

全部标签

c# - 您如何测试 AD 密码是否满足配置的复杂性要求?

在net3.5csharp应用程序中,我需要提前知道AD密码是否满足配置的复杂性要求。你怎么做到的? 最佳答案 如果您想从AD获取需求,@LenielMacaferi的回答中的链接应该会有所帮助。如果您已经知道预期要求并且您的应用接受建议的字符串形式的密码,您可以自己进行测试。一些常见的要求和计算方法包括:最小长度:方便查看字符串的长度复杂性:常见要求是“此列表中的至少三个:小写字母、大写字母、数字、字符”,因此您想创建一个计数器,然后使用正则表达式测试每个条件是否匹配并为每个增加计数器。因此,例如,您的正则表达式类似于[a-z],

c# - 在 C# 2.0 中同步两个 IList 的最佳算法

想象一下下面的类型:publicstructAccount{publicintId;publicdoubleAmount;}同步两个的最佳算法是什么IList在C#2.0中?(没有linq)?第一个列表(L1)是引用列表,第二个(L2)是根据第一个来同步的:L2中不再存在于L1中的所有帐户必须从L2中删除必须更新L1中仍然存在的L2中的所有帐户(金额属性)所有在L1中但尚未在L2中的帐户必须添加到L2Id标识帐户。找到一种朴素且有效的算法并不难,但我想知道是否有一种智能解决方案可以在不破坏可读性和性能的情况下处理这种情况。编辑:帐户类型无关紧要,可以是一个类,具有属性、相等成员等。L1

c# - c#中字符串比较的更快算法

我有两个句子需要相互比较。最终结果是一个句子在另一个句子中包含多少百分比,我的问题是我有100.000条记录需要与另外10条记录进行比较。那是1.000.000次循环,这在我的算法中非常慢。这是我正在使用的算法:privatedoubleBreakStringsAndCheck(strings1,strings2){if(s1==null||s2==null||s1.Length==0||s2.Length==0)return(double)0;string[]firstArray=s1.Split('');string[]secondArray=s2.Split('');if(fir

c# - 使用 Dijkstra 算法寻找最短路线

我需要找到图的2个顶点之间的最短路线。我有一个矩阵,其中包含所有权重。我该怎么做?目前,我有以下代码:privateint[]Dijkstra(intstart,intend){bool[]done=newbool[8];int[]parent=newint[8];for(inti=0;i它有效,但是,但是我不知道如何让它找到例如1和3之间的最短路线,并返回1=>4=>2=>3之类的路线。提前致谢。 最佳答案 Djikstra算法使用父数组来跟踪从开始到结束的最短路径。您将从parent[end]开始并跟随数组的条目,直到您回到起点

c# - 复杂的 nHibernate QueryOver 表达式

我在层次结构A>B>C>D中有以下对象。每个对象都映射到一个表。我正在尝试使用QueryOver编写以下SQL:SELECTBFROMA,B,C,DWHEREA.ID=B.IDANDB.ID=C.IDANDC.ID=D.IDWHEREA.NUMBER='VALUE'ANDD.NAMEIN('VALUE1','VALUE2')到目前为止,我有C#代码:string[]entityNames=entityAttributes.Select(e=>e.Name).ToArray();stringcustomerNumber=2;returnsession.QueryOver().JoinQu

c# - 复杂对象上的 GroupBy(例如 List<T>)

使用GroupBy()和Count()>1我试图在列表中查找我的类的重复实例。这个类看起来像这样:publicclassSampleObject{publicstringId;publicIEnumerableEvents;}这就是我实例化和分组列表的方式:publicclassProgram{privatestaticvoidMain(string[]args){varitems=newList(){newSampleObject(){Id="Id",Events=newList(){"ExampleEvent"}},newSampleObject(){Id="Id",Events=

c# - .NET框架实现了什么排序算法

这个问题在这里已经有了答案:Whichsortingalgorithmisusedby.netinIComparer(3个答案)关闭9年前。在.NET中实现IComparable之类的东西时,有人可以建议.NET使用什么排序算法对基础数据进行实际排序吗?所使用的算法是可定制的还是可选的?

c# - 复杂的字符串拆分

我有一个类似下面的字符串:[Testing.User]|Info:([Testing.Info]|Name:([System.String]|Matt)|Age:([System.Int32]|21))|Description:([System.String]|Thisissomedescription)你可以把它看成这棵树:-[Testing.User]-Info-[Testing.Info]-Name-[System.String]-Matt-Age-[System.Int32]-21-Description-[System.String]-Thisissomedescriptio

c# - 使用具有模糊容忍算法的笔划作为加密 key

如何使用模糊容错来加密/解密?我希望能够使用InkCanvas上的Stroke作为我加密的key,但是当再次解密时,用户不必绘制完全相同的符号,只是相似。这可以在.NETC#中完成吗?---更新(9月9日)---我理想中想要的是一种加密算法,它可以接受基于某些基本key和定义允许差异的函数的特定key范围内的任何key..我在本地进行所有加密/解密,因此我不需要安全地通过线路发送任何内容。而且我不想存储用于加密的key,所以我没有任何可比较的东西。我可以想出一些方法来为每个相似的笔画生成相同的键,但如果想要接受任何类型的符号(不仅是字母),这并不容易。另一种选择是加密key是否可以通过

c# - Ria 服务将复杂对象作为参数传递给查询域服务方法

我在使用WCFRIA服务时遇到了一些困难,类似于thisthread中指定的问题.我正在创建的域服务方法(一个查询方法)应该采用一个复杂的对象参数。域服务方法示例:publicComplexObjectResultGetComplexObject(ComplexObjectParametertest){//dostuff}参数对象:publicclassComplexObjectParameter{[Key]publicdecimalID{get;set;}...otherfields}我收到此编译错误:错误70域操作条目“GetComplexObject”的参数“test”必须是预定