faik mermer
Kilopat
- Katılım
- 26 Ekim 2016
- Mesajlar
- 84
- Çözümler
- 1
Daha fazla
- Cinsiyet
- Erkek
Normalde Python dili bir native dil kadar iyi bilirim. Ama bazen o gün dikkatiniz ve kafanız çalışmaz şu an o durumdayım. Anlayamadığım bir yerden hata alıyorum ama dikkatimi bir türlü toparlayıp hatamı bulamıyorum. Hatamı düzeltecek arkadaşlara şimdiden teşekkürler diyorum.
Python:
breadth first searchfrom collections import deque
queue = deque()
graph = {}
graph["you"] = ["faik"]
graph["faik"] = ["ali", "özge", "serkan"]
graph["ali"] = ["kamil", "derya"]
graph["özge"] = ["derya"]
graph["serkan"] = ["mehmet"]
graph["kamil"] = []
graph["derya"] = []
graph["mehmet"] = []
class Graph:
def __init__(self):
self.elemanlar = []
self.kökler = {}
def graphs(self, grh):
for i in grh:
self.kökler[i] = grh[i]
self.elemanlar.append(i)
def bsf(self, hedef, kök= None):
if kök is None:
kök = self.kökler[0]
bsf_kök = self.kökler;
kontrol_kümesi = []
queue.append(kök)
kontrol_kümesi.append(kök)
while(len(queue)):
k = queue.popleft()
if(k == hedef):
return True
for i in range(len(bsf_kök)):
if not kontrol_kümesi[bsf_kök[k][i]] :
kontrol_kümesi.append(bsf_kök[k][i])
queue.append(bsf_kök[k][i])
return False
grf = Graph()
grf.graphs(graph)
grf.bsf("mehmet")