摘要:
当需要在无需列表中寻找第k小的元素时,一个显然的方法是将所有数据进行排序,然后检索k个元素。这种方法的运行时间为O(n log(n))。无序列表调用分区函数将自身分解成两个子表,其长度为i和n-i。第一个列表中的第一个i元素(不一定排序),当i与k进行比较时需在第一或第二个子列表中搜索元素。使用findMinK(ArrayListarray, int k, int i, int r)实现,同时使用下面testframe代码测试。在函数中可增加全局变量cmpcnt,在列表中利用分区函数交换元素时计数。对findMinK函数的实现,利用了快排的思想:先从n个元素中找一个任意分界点,设为m,假设m在 阅读全文
摘要:
在Eclipse中运行项目 遇到如下错误:## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000c0190, pid=2640, tid=2120## JRE version: 7.0-b57# Java VM: Java HotSpot(TM) Client VM (16.0-b02 mixed mode, sharing windows-x86 )# Problematic frame:# C 0x0.. 阅读全文