Web sitemize hoşgeldiniz, 23 Ağustos 2017

Java 8 Vezir Algoritması

Java 8 Vezir Algoritması
Lütfen, Yazımızı Değerlendirin ve Yorum Yapın...
1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (5 votes, average: 4,80 out of 5)
Loading...
En çok teknoloji ve bilim ağırlıklı makalelerin yer aldığı, güncel bilgiler ile rahatlıkla bilginizi arttırabileceğiniz, özellikle bilgisayar mühendisliği öğrencileri için oldukça faydalı olabilecek bilgi paylaşım sitesi, bilgi hocasına hoş geldiniz.

Java 8 Vezir algoritması oldukça güzel bir algoritma sorularından biridir. Peki nedir bu 8 vezir algoritması? Bu bir oyun algoritmasıdır. Burada satranç tahtası üzerine 8 tane vezir konulması isteniyor. Fakat öyle ki bu 8 vezir öyle konulmalı ki birbirini yemesin. İşte bunun planlandığı bu algoritmayı bugün sizler için hazırladık.

Java 8 Vezir

package javaapplication26;
public class vezir {
     int[] x;
     public vezir(int N) {
         x = new int[N];
     }
     public boolean canPlaceQueen(int r, int c) {
    for (int i = 0; i < r; i++) {
      if (x[i] == c || (i - r) == (x[i] - c) ||(i - r) == (c - x[i]))
             { 
                 return false;
             }
        }
         return true;
     }

     public void printQueens(int[] x) {
         int N = x.length;
         for (int i = 0; i < N; i++) {
             for (int j = 0; j < N; j++) {
                 if (x[i] == j) {
                     System.out.print("Q ");
                 } else {
                     System.out.print("* ");
                 }
             }
             System.out.println();
         }
         System.out.println();
     }
     public void placeNqueens(int r, int n) {
         for (int c = 0; c < n; c++) {
             if (canPlaceQueen(r, c)) {
                 x[r] = c;
                 if (r == n - 1) {
                     printQueens(x);
                 } 
                 else 
                 {
                     placeNqueens(r + 1, n);
                 }
             }
         }
     }
     public void callplaceNqueens() {
         placeNqueens(0, x.length);
     }
/* @author Bilgi Hocası
   @param args
 */
public static void main(String args[]) {
         vezir Q = new vezir(8);
         Q.callplaceNqueens();
     }
 }

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ

Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz