㈠ 求一个高效对比算法,比较两个datatable数据
用linq来实现,先定义两个dt,这个可以换成你程序中的
DataTable dt1 = new DataTable(); //第一个datatable
DataTable dt2 = new DataTable(); //第二个datatable
思路:
1.根据某个字段,找到dt1和dt2中重复的数据集合(我这里用的是Id,只要id相同我就认为是重复的数据)
2.在dt1中减去上面找到的重复的集合,就是在dt1中取重复数据的补集。
var dt3 = from r in dt1.AsEnumerable() where !(from rr in dt2.AsEnumerable() select rr.Field<int>("Id")).Contains(r.Field<int>("Id")) select r;
㈡ 两段语音相似度对比,什么算法识别率高
可以用两个语音软件测试测试,说出同样的一段话就好了,就知道哪个语音识别率好了,就像录音转文字助手就可以把语音转换成文字。
点开里边的录音识别功能,说出你要测试的语音,就可以把语音转成文字了,你可以去跟其他的比较一下。
㈢ 图像比对的原理或者算法
有噪声情况下。1、配准;2、两张图的图像块分别计算特征(lbp,sift等);3、计算特征的距离(欧式距离等)。在matlab或opencv下都可以。
㈣ 如何比较两个算法的好坏,有什么指标
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:·算法是正确的;
·执行算法的时间;
·执行算法的存储空间(主要是辅助存储空间);
·算法易于理解、编码、调试。
**************************************************************************************************************
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
空间复杂度:是某个算法的空间耗费,它是该算法所求解问题规模n的函数。
算法的时间复杂度和空间复杂度合称算法复杂度。
㈤ 跟别人对比算法需要把人家的也实现一遍吗
用一句说话答你的话, 那就是 : 算法只是程序中可以处理的其中一件事. 算法, 基本上就是以数学的形式去对一个 "模式" 的模术, 例如最简单的毕氏定理 a^2 + b^2 = c^2 . 当然还有更多更复杂的算法, 例如 OpenCV 对面容辨识的各种算法, 从距离,
㈥ 两个数组比较(算法) 怎样算最优化
我觉得,如果已知两个数组元素数目相同,那就对两个数组分别排序,然后对两个数组从第一个元素开始进行比较,这样就能得出结果了。
㈦ 怎么判断比较各种算法的好坏
首先,这个算法必须是正确的
其次,好的算法应该是友好的,便于人们理解和交流,并且是机器可执行的。
这个算法还需要足够健壮,即当输入的数据非法或不合理时,也能适当的做出正确的反应或进行相应的处理
最后它还必须拥有高效率和低存储量要求。
也就是楼上几位说的时间复杂度和空间复杂度
占的地方越小,算得越快的算法才是好算法。
㈧ 算法设计:比较两个文件的差别
两个文件可以比较是否相同,不同在哪里?
最简单办法:comp file1 file2 d/a/l/n=n/c/off n
但是如何进行更改的,就涉及到操作的追溯。这个过程是不可逆的。所以无解。
除非有操作记录表!可以追溯。
㈨ 数据快速比较算法
你想知道每位相不相同吗?我看你这是二级制数吧,如果是二进制可以用位运算的异或,相同为0,不同为1,这是最快的了,时间复杂度为O(1),掩码的操作都是用位运算的,不用什么查找。
如果你不知道位运算是啥,还是自己网络一下吧
㈩ 比较Dijkstra算法与Floyd算法。
(1)Dijkstra算法:在网络中用得多,一个一个节点添加,加一个点刷一次路由表。
Dijkstra算法是典型的算法。Dijkstra算法是很有代表性的算法。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边。
(2)Floyd算法:把所有已经连接的路径都标出来,再通过不等式比较来更改路径。
Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。