C Programlamada rekürsif ve matris , En Kısa Yol

  1. MuhammeTopcu
    6
    35
    26.02.2019 13:55:00

    Merhabalar. Öncelikle Bilgisayar mühendisliği öğrencisiyim. Hocamın isteği üzerine C'de bir program yazmakla uğraşacağım. Programda 1 ve 0'lardan oluşan bir matris gireceğiz ve 0x0 noktasından en son girilen değer giden en kısa yolu buldurmam gerekiyor. 1'ler yol 0'lar ise duvar olarak yani 1'ler üzerinden en kısa yoldan son değere ulaşacağımız bi matris yazacağım. Bu programın rekürsif fonksiyon ile çalışması istenildi. Nasıl yapacağım konusunda bir fikrim yok açıkcası. Yardımcı olabilecek birileri var mı acaba?

    c 1 yıl önce 1881 Görüntüleme

( 3 ) Cevap

  1. serkan
    3
    1094
    26.02.2019 16:36:00

    kaçıncı sınıf olduğunu yazmamışsın ama , soruya bakaraktan hoca , eğer tahmin ettiğim gibi en kısa yol bulma algoritmalarından birini kullanmanızı istiyor ki öyle gözüküyor , en az 3. sınıf olmalısın.

    Çünkü bu soru için en kısa yol bulma algoritmalarını 3 sınıfta , bunun için lazım olacak kuyruk ,yığın gibi veri yapılarını da ikinci sınıfta almış olman lazım diye hatırlıyorum.

    şöyle bir şey istiyor sanırım ;

    aşağıdaki 3 ün 4 üne giden en kısa yolu bulma simulasyon resmi , hocanızın istediği en son veri olan 8 in 9 una gidecek anladığım kadarıyla

    c-matris-en-kisa-yol

    burada Lee algoritmasından ve BFS den yararlanılarak yapılmış bir örnek var , ama dediğim gibi kuyruk gibi veriyapılarıda kullanılıyor

    https://www.geeksforgeeks.org/shortest-path-in-a-binary-maze/

  2. baturay
    2
    587
    26.02.2019 17:00:00

    Aynen Lee algoritması , labirent tarzı ve kısa yolları bulmak için kullanılan bir algoritma , mantığında , temelinde BFS yani Breadth First Search yatmaktadır.

    Burada da aradığın uygulamanın tam bir örneği mevcut

    https://www.techiedelight.com/lee-algorithm-shortest-path-in-a-maze/

  3. MuhammeTopcu
    0
    35
    28.02.2019 16:44:00

    Şu an 2.sınıftayım. Kodu aslında yazdım ama emin değilim. Burdan direk atabiliyor muyum ? Ona göre kodu size ulaştırayım uygunsanız bir de siz kontrol edin.

Cevabınız