小编Kas*_*sra的帖子

如何优化Knight的巡演算法?

我使用Backtracking方法在c ++中编写骑士游览算法.但它似乎太慢或陷入无限循环n> 7(大于7乘7棋盘).

问题是:该算法的时间复杂度是多少?如何优化它?!


骑士之旅的问题可以说明如下:

给定一个有n×n方格的棋盘,找到一个骑士的路径,每个方格只访问一次.

这是我的代码:

#include <iostream>
#include <iomanip>
using namespace std;

int counter = 1;
class horse
{
public:
  horse(int);
  bool backtrack(int, int);
  void print();
private:
  int size;
  int arr[8][8];
  void mark(int &);
  void unmark(int &);
  bool unvisited(int &);
};

horse::horse(int s)
{
  int i, j;
  size = s;
  for(i = 0; i <= s - 1; i++)
    for(j = 0; j <= s - 1; j++)
      arr[i][j] = 0;
} …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm optimization backtracking time-complexity

18
推荐指数
1
解决办法
1万
查看次数

每行的数量.

我在我的数据库中有3条记录,我希望它们看起来像:如果我用于(每个)

<% @records.each do |record| %>
Run Code Online (Sandbox Code Playgroud)
  1. RECORD1
  2. RECORD2
  3. RECORD3

ruby-on-rails

6
推荐指数
2
解决办法
3592
查看次数