草庐IT

C++并行排序

全部标签

c# - 理解和解决 K-Way 归并排序

我想:计算k路归并排序对数字从0到N-1的随机排列进行排序所需的比较次数。计算K-Way归并排序对数字从0到N-1的随机排列进行排序所需的数据移动次数。我了解2向归并排序如何正确工作,并且非常了解代码。我现在的问题是我不知道如何开始。如何将2-way归并排序转换为K-Way才能解决上述问题?我在网上搜索过,但找不到任何教程来很好地解释“k-Way归并排序”。我需要很好的解释该做什么,以便我可以从那里得到它并自己做。就像我说的,我了解2-Way,那么我如何转向K-Way归并排序?我如何实现K-way?编辑我读了一些帖子http://bchalk.com/work/view/k_way_m

java - java中的并行处理框架

我是这个话题的新手。我决定为我的项目用java开发一个用于云数据处理应用程序的并行处理框架。该框架必须划分给定的顺序Java代码,并在云中的不同虚拟机中处理该子代码。框架必须根据负载动态分配和释放资源。我的问题是如何开发框架。是否有任何库可用于将java代码调度到云中的不同虚拟机中?如果有任何可用的,请通知我。 最佳答案 Terracotta和Gridgain是优秀的解决方案。yerlikayaoglu引用的那些(Hadoop和hazelcast)在它们的领域中也很出色,但它们都4非常不同并且取决于用例。那是针对map/reduce

java - 根据 Object 的成员变量从值对 HashMap 进行排序

这个问题在这里已经有了答案:SortaMapbyvalues(63个答案)关闭9年前。上一节课classEmployee{intid;Stringname;}和一张包含这个对象值的mapMapmap=newHashMap();现在我想根据Employee'sname对map进行排序。意味着当我使用Map.Entry迭代此map时,Employee对象必须按字母顺序检索。提前致谢

java - Spring Data Elastic Search - 按距离对地理位置进行排序

给定一个地理定位点,我试图找到10公里以内的一些地点,并按离给定位置最近的地点对其进行排序。我设法返回了10公里以内的位置列表,但是当我尝试对其进行排序时,出现了异常:我正在使用以下版本:3.2.12.61.0.0.BUILD-SNAPSHOT3.2.5.RELEASEjava代码如下:publicListfindByGeoLocation(Doublelongitude,Doublelatitude,StringchannelKey,Stringdistance){if(StringUtils.isEmpty(distance)){distance=defaultRadius;}Ge

java - 按大文件 ArrayList 的日期快速排序

我在Java中有一个ArrayList,其中包含大量文件(约40.000个文件)。我需要按日期对这些文件进行升序/降序排序。目前,我使用一个简单的Collections.sort(fileList,newFileDateComparator());FileDateComparator在哪里publicclassFileDateComparatorimplementsComparator{@Overridepublicintcompare(Fileo1,Fileo2){if(o1.lastModified()排序对我来说占用的时间太长,比如20秒或更长时间。有没有更有效的方法来实现这一点

Java 8 流和并行流

假设我们有一个像这样的Collection:Set>set=Collections.newSetFromMap(newConcurrentHashMap());for(inti=0;isubSet=Collections.newSetFromMap(newConcurrentHashMap());subSet.add(1+(i*5));subSet.add(2+(i*5));subSet.add(3+(i*5));subSet.add(4+(i*5));subSet.add(5+(i*5));set.add(subSet);}并处理它:set.stream().forEach(subS

java - 合并不等长的排序数组

我有一个项目要求我合并两个已排序的数组(a和b)并将结果放入长度为a.length+b.length的新数组中。我正在跟踪我在所有3个数组中的位置计数器,并且我的数组长度不相等。我的约定是,如果一个数组先于另一个数组用完,代码只会将另一个数组的其余部分转储到结果数组中。不幸的是,我可以检查另一个数组是否仍然包含元素的唯一方法是查看for循环。谁能帮帮我?这应该是一个相对容易的修复,但我想不出解决方案。publicclassTwo{publicstaticvoidmain(String[]args){//sampleproblemint[]var_a={2,3,5,5,8,10,11,1

java - 如果使用自定义比较器创建,则为 SortedMap 生成的流的流特征可能无法排序

掌握Lambda,作者:MauriceNaftalin,第6章-流性能。解释了流在不同执行阶段(中间和终端)的不同特征。例如。Stream.of(8,3,5,6,7,4)//ORDERED,SIZED.filer(i->i%2==0)//ORDERED.sorted()//ORDERED,SORTED.distinct()//DISTINCT,ORDERED,SORTED.map(i->i+1)//ORDERED.unordered();//none令我困惑的是对SORTED特征的解释:“如果已定义比较器并将其用于此目的,则流元素可能已按其他顺序排序,但此类流不具有SORTED特征。”

java - tomcat升级后并行流不设置Thread.contextClassLoader

在tomcat从8.5.6升级到8.5.28之后,并行流停止为线程提供contextClassLoader:因为Warmer::run无法加载其中的类。warmers.parallelStream().forEach(Warmer::run);您是否知道Tomcat为新线程的contextClassLoader提供了什么?ParallelStream在最新的Tomcat中使用ForkJoinPool。 最佳答案 CommonForkJoinpool存在问题,可能会导致内存泄漏以及应用程序能够从其他上下文/应用程序加载类和资源(如果您

java - 如何通过索引随机访问 O(1) 排序集

需要一个字符串集合,其中插入的元素需要排序且不重复,可以通过索引检索。我可以使用TreeSet删除重复项并对所有内容进行排序订购但无法通过索引检索。通过检索索引,我可以为它制作ArrayList和addAll元素,但这addAll需要很多时间。或我可以使用ArrayList,插入所需元素,然后通过其他方法删除重复元素,然后使用Collections.sort方法对元素进行排序。但问题是,所有这些都需要时间,是否有任何直接的方法可以实现这一点,一个集合排序,非重复,按索引随机访问O(1)。 最佳答案 commons集合中有一个名为Se