Veri yapılarından anlayan var mı?

Başlatan dert36, 03 Ocak 2016 - 01:48:27

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

dert36

Hoca bir ödev vermiş. Ama burada tam olarak ne istendiğini anlayamadım. 10 düğümlü graf tanımlama ne anlama geliyor? Şu ödevi anlayabilen bana da anlatabilir mi lütfen :(

Aşağıdakileri yerine getiren bir program geliştiriniz.
- Komşuluk matrisi kullanarak 10 düğümlü bir graf tanımlanmalıdır.
- 10 renkten oluşan bir renk listesindeki renkler kullanarak graf renklendirilmelidir.
- Geliştirilecek olan program herhangi bir 10 düğümlü graf üzerinde çalışabilmelidir.
- Program çalıştırıldığında, kodlar içerisinde matris olarak tanımlanmış olan grafı renklendirme işi yapılarak ekrana, hangi düğüme hangi rengin atandığı bilgisi yazdırılmalıdır.
- Mümkün olan en az sayıda renk kullanılarak renklendirme işlemi gerçekleştirilmelidir.

mhmtkrktr


dert36

Alıntı yapılan: mhmtkrktr - 03 Ocak 2016 - 01:56:39
https://www.google.com.tr/search?q=graf&biw=1280&bih=638&source=lnms&tbm=isch&sa=X&ved=0ahUKEwji96jqqYzKAhXK1iwKHfQaBwcQ_AUIBigB#imgrc=FpKAc3g8T0agmM%3A

Senin hoca bundan 10 tane olacak demiş. Hangi programa dili olduğu vs belirtilmiş mi?

Programlama dili farketmez. Ben javada yazıcam ama konsol uygulaması olarak yazıcam da renklendirme derken neyi kastediyor onu anlamıyorum. Konsolda renk yok ki sonuçta

mhmtkrktr

Java konusunda fikrim yok. Konsol derken terminali kasdediyorsan, hatırladığım kadarıyla orada da renklendirme yapabilirsin. Basitlik konusunda html script konusuna da bir bak istersen.

dert36

Alıntı yapılan: mhmtkrktr - 03 Ocak 2016 - 02:07:03
Java konusunda fikrim yok. Konsol derken terminali kasdediyorsan, hatırladığım kadarıyla orada da renklendirme yapabilirsin. Basitlik konusunda html script konusuna da bir bak istersen.
Teşekkür ederim

mhmtkrktr

Şurası vardı meselâ. Basit arayüzler oluşturmak için. Grafik üzerine bir şeyler var mı, orasına hiç bakmadım. :)

http://xpt.sourceforge.net/techdocs/language/gtkdialog/gtkde02-GtkdialogExamples/single/

dert36

Alıntı yapılan: mhmtkrktr - 03 Ocak 2016 - 02:20:25
Şurası vardı meselâ. Basit arayüzler oluşturmak için. Grafik üzerine bir şeyler var mı, orasına hiç bakmadım. :)

http://xpt.sourceforge.net/techdocs/language/gtkdialog/gtkde02-GtkdialogExamples/single/
Çok teşekkür ederim kardeşim uğraştığın için :)

mhmtkrktr

Rica ederim. Daha fazla yardımcı olmak isterim ama senin hoca, beni sınıfta bırakmak istemiş sanırım. :)

dert36

Alıntı yapılan: mhmtkrktr - 03 Ocak 2016 - 02:26:44
Rica ederim. Daha fazla yardımcı olmak isterim ama senin hoca, beni sınıfta bırakmak istemiş sanırım. :)
Bir an bizim hoca mısın diye şüpheye düştüm :D onun da adı mehmet :D

mhmtkrktr

Yok yok, o ben değilim. Ben olsaydım uğraştırmazdım böyle, firefox da anasayfayı nasıl değiştirirsin gibi makûl sorular sorardım.
Sizin Mehmet hoca bayağı zorlamış işi.  :)

-DıLgEş-

Alıntı yapılan: dert36Alıntı yapılan: mhmtkrktr - Bugün, 01:56:39https://www.google.com.tr/search?q=graf&biw=1280&bih=638&source=lnms&tbm=isch&sa=X&ved=0ahUKEwji96jqqYzKAhXK1iwKHfQaBwcQ_AUIBigB#imgrc=FpKAc3g8T0agmM%3A

Senin hoca bundan 10 tane olacak demiş. Hangi programa dili olduğu vs belirtilmiş mi?
Programlama dili farketmez. Ben javada yazıcam ama konsol uygulaması olarak yazıcam da renklendirme derken neyi kastediyor onu anlamıyorum. Konsolda renk yok ki sonuçta
Kim demiş yok ben C/ C++/ D dillerinde renklendirme yapıyordum.. Java'da yapılabilir..
Aşkın; gözü kör, kulağı sağır, dili tutuk, aklı kıttır..! Hayır yani bu halde nasıl herkesi madara ediyor onu çözemedim..

Sh4oTT

Su pdf'i incelemelisin: http://members.comu.edu.tr/iturkyilmaz/BM229Dersler/ders09.pdf

Surda da bir örnek var tam seninkiyle aynı degıldır ama bır fıkır verebılır : http://ckodu.com/discussions/%C3%B6dev-yard%C4%B1m.html

Bu arada merak ettim hangı bolumu okuyorsun ve kacıncı sınıftasın?

dert36

Alıntı yapılan: mhmtkrktr - 03 Ocak 2016 - 02:41:24
Yok yok, o ben değilim. Ben olsaydım uğraştırmazdım böyle, firefox da anasayfayı nasıl değiştirirsin gibi makûl sorular sorardım.
Sizin Mehmet hoca bayağı zorlamış işi.  :)
Derslerine hiç girmedim aslında. Girseydim ne demek istediğini anlardım da işte :)


Alıntı yapılan: ShaoDownLiNuP - 03 Ocak 2016 - 10:28:28
Su pdf'i incelemelisin: http://members.comu.edu.tr/iturkyilmaz/BM229Dersler/ders09.pdf

Surda da bir örnek var tam seninkiyle aynı degıldır ama bır fıkır verebılır : http://ckodu.com/discussions/%C3%B6dev-yard%C4%B1m.html

Bu arada merak ettim hangı bolumu okuyorsun ve kacıncı sınıftasın?

Teşekkür ederim hocam sağolun. Ben bilgisayar mühendisliği okuyorum. 1,2 ve 3. sınıftan karışık olarak dersler alırıyorum çorba gibi :)


Alıntı yapılan: MaRJiNaL - 03 Ocak 2016 - 08:14:46
Alıntı yapılan: dert36Alıntı yapılan: mhmtkrktr - Bugün, 01:56:39https://www.google.com.tr/search?q=graf&biw=1280&bih=638&source=lnms&tbm=isch&sa=X&ved=0ahUKEwji96jqqYzKAhXK1iwKHfQaBwcQ_AUIBigB#imgrc=FpKAc3g8T0agmM%3A

Senin hoca bundan 10 tane olacak demiş. Hangi programa dili olduğu vs belirtilmiş mi?
Programlama dili farketmez. Ben javada yazıcam ama konsol uygulaması olarak yazıcam da renklendirme derken neyi kastediyor onu anlamıyorum. Konsolda renk yok ki sonuçta
Kim demiş yok ben C/ C++/ D dillerinde renklendirme yapıyordum.. Java'da yapılabilir..
Hiç renkli uygulama görmemiştim o açıdan öyle düşündüm. Varmış demek ki bilmiyordum:)

Sh4oTT


dert36


bugra9

Graflar, düğüm ve düğümleri birbirine bağlayan bağlantılardan oluşur. Grafları grafiksel olarak göstermenin yanında komşuluk matrisiyle de gösterebiliriz. Yazılımda kullanacağımız için grafı komşuluk matrisiyle tanımlamanı istiyor.

1) 10x10 boyutunda bir matris oluştur ve içini rastgele sayılarla doldur. (Graf tanımlanmış oldu.)
2) 10 adet elemanı olan bir renk dizisi tanımla.
3) Yazacağın program 10x10 boyutundaki komşuluk matrisiyle çalışacak. Yani bu matrisi giriş olarak alacak.
4) Yazacağın program grafı renklendirme işini yapacak. Renklendirmenin ne olduğunu aşağıda yazdım. Her düğüme renk verdikten sonra bunu ekrana yazdıracaksın. (Örn: [1=> kırmızı, 2=> mavi, 3=> kırmızı, 4=> yeşil, 5=> kırmızı, 6=> sarı, 7=> mavi, 8=> kırmızı, 9=> yeşil, 10=> mavi] gibi)

Anlayacağın basit bir konsol uygulaması. Ekrana renkli bir şey göstermen gerekmiyor, sadece bir dizi basacaksın.

RENKLENDİRME
Rastgele bir düğüm seçtiğini düşün. Buna bir renk verdin. Daha sonra bu düğüme bağlı düğümlere farklı renk vermen gerekiyor. Bu şekilde en az renk kullanarak 10 düğümü de renklendirmelisin. Başka şekilde açıklarsak aynı renkler kesinlikle birbirine bağlı olmayacak şekilde en az sayıda renk kullanılarak tüm düğümlere renk vermen isteniyor.
Bunu yapabilecek örnek bir algoritmayı aşağıda paylaşıyorum.

Alıntı YapWelch – Powell Algoritması

    Tepeleri derecelerine göre azalan şekilde sırala
    İlk rengi en büyük dereceli düğüme ve bu düğüm ile komşu olmayan tüm düğümlere ata
    Sıradaki renge geç. Bu rengi sıradaki diğer düğüme ve daha önce renklendirilmemiş ve bu düğüme komşu olmayan düğümlere ata
    Tüm düğümler renklendiğinde 3. aşamayı durdur

dert36

Alıntı yapılan: bugra9 - 03 Ocak 2016 - 12:08:29
Graflar, düğüm ve düğümleri birbirine bağlayan bağlantılardan oluşur. Grafları grafiksel olarak göstermenin yanında komşuluk matrisiyle de gösterebiliriz. Yazılımda kullanacağımız için grafı komşuluk matrisiyle tanımlamanı istiyor.

1) 10x10 boyutunda bir matris oluştur ve içini rastgele sayılarla doldur. (Graf tanımlanmış oldu.)
2) 10 adet elemanı olan bir renk dizisi tanımla.
3) Yazacağın program 10x10 boyutundaki komşuluk matrisiyle çalışacak. Yani bu matrisi giriş olarak alacak.
4) Yazacağın program grafı renklendirme işini yapacak. Renklendirmenin ne olduğunu aşağıda yazdım. Her düğüme renk verdikten sonra bunu ekrana yazdıracaksın. (Örn: [1=> kırmızı, 2=> mavi, 3=> kırmızı, 4=> yeşil, 5=> kırmızı, 6=> sarı, 7=> mavi, 8=> kırmızı, 9=> yeşil, 10=> mavi] gibi)

Anlayacağın basit bir konsol uygulaması. Ekrana renkli bir şey göstermen gerekmiyor, sadece bir dizi basacaksın.

RENKLENDİRME
Rastgele bir düğüm seçtiğini düşün. Buna bir renk verdin. Daha sonra bu düğüme bağlı düğümlere farklı renk vermen gerekiyor. Bu şekilde en az renk kullanarak 10 düğümü de renklendirmelisin. Başka şekilde açıklarsak aynı renkler kesinlikle birbirine bağlı olmayacak şekilde en az sayıda renk kullanılarak tüm düğümlere renk vermen isteniyor.
Bunu yapabilecek örnek bir algoritmayı aşağıda paylaşıyorum.

Alıntı YapWelch – Powell Algoritması

    Tepeleri derecelerine göre azalan şekilde sırala
    İlk rengi en büyük dereceli düğüme ve bu düğüm ile komşu olmayan tüm düğümlere ata
    Sıradaki renge geç. Bu rengi sıradaki diğer düğüme ve daha önce renklendirilmemiş ve bu düğüme komşu olmayan düğümlere ata
    Tüm düğümler renklendiğinde 3. aşamayı durdur

Çok teşekkür ederim hocam. Allah razı olsun. Çok açıklayıcı oldu

Sh4oTT

@bugra9 bende tesekkur ederım gercekten acıklayıcı olmus benım de kafamda soru ısaretı olarak kalmıstı  graflar belkı ılerde bızede sorarlar :)


@dert36 hocam bıttıkten sonra bır ekran goruntusu veya kodları paylasırmısınız merak edıyorum da :)

Erdem

Hocanızın bahsettiği çizit  veri yapısı.

çizit [İng. graph] : Bir dizi noktanın birbirine hangi bağlarla bağlandığını gösteren matematiksel biçim

Burada konuyla ilgili aradığınız bilgiler var.

Eğer ingilizce biliyorsanız şu dersi almanızı tavsiye ederim.

https://www.coursera.org/course/algs4partII