我正在努力找出如何有效地排序一个巨大的数据集,不适合在内存中。在高层次上,最明显的答案是使用一些标准的算法对一整堆适合内存的块进行排序,将这些块写入磁盘,然后合并它们。合并是问题所在。如果我一次完成C路合并,那么技术上我有一个O(N^2)算法,尽管它只需要执行O(N)写到磁盘。如果我迭代地将它们合并成C/2文件,然后是C/4文件等等,那么我就有了一个O(N log N)算法,但是必须执行O(N l
我试图掌握MiniMax算法,并阅读了它。我最初的方法是实现一个简单的MiniMax算法,然后添加α-beta剪枝。然而,这是我当前的代码:{
int victor = checkWin(node); // returns,但有时它是作出非智能的选择,例如,这是输出,如果我的输入从控制台读取的顺序是6,7,8。它