dolaş fonksiyonunda anlamadığım bir şey var , şimdi burdaki ağaçta mesela 12 ye kadar gitti ,en son 12 yi de gönderdi dolaş fonksiyonuna sonra 12 fonksiyona girdiğinde dolas(agac->sol); kısmına gelicek ama ağacın solu yok orda hata vermesi gerekmiyomu , ayrıca 12 yi yazdıktan sonra bir üst düğüme nası geçiş yapıyo onada mantık yürütümedim , agac artık 12 yi gösteriyo , bir üstteki 18 i gösteren herhangi bir şey yok , nası çalıştığına akıl sır erdiremedim daha
Hocam ağacın solunun datasını nasıl alıyoruz? sol pointer olduğu için adresi geliyor. &sol->data yazdığımda hiç bir şey yazdırmıyor. &(agac->sol->data) da olmadı. Yardımlarınız için teşekkür ederim
Günü gelince gerek bi başarı sayesinde gerek bi tesadüf sonucunda bi şekilde denk gelirsek emeğinizin üzerimde büyük olduğunun gerçeğini yüzünüze vurmaktan asla çekinmeyeceğim hocam :)
Hocam elimizde bir aileye ait bilgiler var excel dosyasında biz bu bilgileri kullanarak soy ağacını nasıl yapabiliriz isim soyisim ile soy ağacına alabilir miyiz o verileri alırsak da nasıl yapabiliriz
Hocam elinizden geldiğinizce basitleştirerek anlatmaya çalışmışsınız, ama 'ekle' ve 'dolas' fonksiyonlarında recursive fonksiyonkullanarak agaçta nasıl gezdiğimizi çözemedim bir türlü.
merhaba bişi sorabilir miyim ben c# ta çalışıyorum da yaptıklarınızı anladım fakat c# ta yazarken zorlanıyorum mesela malloc(sizeof) u c# ta array şeklinde yazmaya çalıştım olmadı hata aldım kaçırdığım bişi vardır ya da bilmediğim bişi vardır acaba bu konuda yardımcı olabilir misiniz ? bide java , c de ya da başka bi herhangi programlama dilinde yapay zeka ile ilgili videolar çekecek misiniz ? Ben bu konuda ilerlemek istiyorum sizin tavsiye ettiğiniz kitapları daha önceden de bulmuştum onlara yeni yeni başlıyorum ama videolarla daha iyi anlayabileceğimi düşünüyorum ki youtube da başka bi sürü yerde hala araştırıyorum ama tabikide türkçe kaynak çok az hep yabancı ingilizcem var ama türkçe daha güvende hissettiriyor sanki =)) acaba siz böyle bişi düşünüyor musunuz ? yardımlarınız için şimdiden teşekkür ederim sağ olun =)
hocam merhaba sadece solda tek cocugu bulunan node ları sayan bir fonksiyon yazmaya calısıyorum fakat sonuc sacma cıkıyor kod sudur nerede hata var acaba int countleftonechildnode(struct node* agac){ int counter; while(agac->left!=NULL){ if(agac->right==NULL){ counter++; } agac=agac->left; } while(agac->right!=NULL){ agac=agac->right; if(agac->left!=NULL&& agac->right==NULL) counter++; } return counter; }
dolaş fonksiyonunda en sola gittikten sonra nasıl yukarı çıktığının mantıklı bi cevabı olduğunu düşünmemeye başladım ,en sola yani 12 ye gitti ordanda fonksiyona null döndü fonksiyonda returnu gördü orda bitmesi gerekmiyomu , hadi returnu görmezden geldi diyelim bi daha nası çıkıyo üstteki düğüme 12 de kalması gerekiyo
hocam iyi günler ,eşit olma durumunda hatalı yazıyor agaç yapısı bozuluyor ; mesela 10-5-20-60-30-10-40-80 agacımız oldugunu varsayalım 10 elemanından iki tane var ama sadece bir tanesini yazdırıyor buda yapının bozulmasını sağlıyor eşitlik durumunda ne yapabiliriz yardımcı olabilirmisiniz
merhabalar, acaba bu ağaçlar ile ilgili kodlar yazarken dikkat edilmesi gerekenler. example: while sadece bir tarafı dolaşır tarzında bunları bizimle paylaşabilirmisiniz ağaç dolanma sorularında bunu yanlış yapıyorum hep
Sayın hocam ekleme kısmının sonunda aklıma geldi, büyük küçük durumu tamam ama eşit olma durumunda ne yapılıyor, videoda söz ettiyseniz benim dikkatsizliğim affınıza sığınıyorum. Bir de hocam bu gibi şeyler çok havada kalmaya müsait,en azından benim için, örnek içeren kitap önerebilir misiniz? ve ya video sonunda şöyle bir şey yazmaya çalışın diye öneride bulunabilir misiniz? Teşekkürler.
Merhabalar, üzerinden 6 yıl geçmiş ama yine de cevaplayayım. Aynı olan durumlarda ekleme yapmıyoruz. Böyle şeylerin hava kalması hâli de çok tabii. Çünkü pratik hayatta (düşük seviyeli işlerle uğraşmadığımız müddetçe) kullandığımız yapılar değil. Sizler zaten web alanına yönelmişsiniz artık veri yapılarının yanından dahi geçmiyorsunuzdur. Esenlikler dilerim!
hocam ben eski üniversiteniz İÜ bilgisayar müh. öğrencisiyim.Önceden oluşturulmuş iki ağacı birleştirebilecek bir program nasıl yazılır?ayrıca ikili ağacın maksimum ve minumum derinliğini bulan bir program nasıl yazabiliriz?Şimdiden ilginiz için çok teşekkür ederim
evet bunlar çok klasik ödev soruları. Bir ara vakit bulabilirsem buna benzer uygulamalar için videolar çekeceğim. Soru seti hazırlamak gibi bir niyetim var, videolarını çektiğimiz seriler için sırasıyla her konudan 5 - 10 arası klasik soruyu önce sorup sonra çözümünü yapmak şeklinde, ama ne zaman yapabilirim bilmiyorum. Başarılar dilerim.
Hocam emeginize hayranim .Allah razi olsun Kisacik bisi 14. 21 de if (iter -> sol !=NULL) içerde olması gerekiyormu yoksa ben bir düşünce hatasımı yapıyorum ?
evet indentetaionla anlatmaya çalışmışım, blok parantezlerini kast ediyorsanız blok açılıp içerisine konulması gerekiyor. Ancak o kodu anlatmak için yazdım, zaten sonra silip doğrusunu yazıyorum.
Hocam keşke şu kısmın tam olarak nasıl çalıştığını detaylandırsaydınız biraz havada kaldı. Ağacın 2 dalı var bir dalındaki sagına bakıyor peki diğer salındaki sağa nasıl geçiyor? if(bul(agac->sag,aranan)==1) return 1; if(bul(agac->sol,aranan==1)) return 1;
Hocam benim anladığım kadarıyla kod rekursiv çalıştığı için her ağacın sağında arama kısmına geldiğinde tekrar başa dönüp onun sağında arıyor yani sağın sağına sonra da onun sağına gidiyor bir kere en sağa kadar gittikten sonra artık bu olaydan çıkıyor bi soldakine geçip bu sefer de onun en sağına kadar gidiyor. Umarım yardımcı olabilmişimdir.
hocam ekleme kısmında struct n'in içine n * left ve n * right yazdığımda n lerin altı kırmızı gösteriyor başına sturct geçince hata düzeliyor ama bu seferde typedef n yazdığımda hata alıyorum.
Hocam merhaba . Bir konuda kaynak bulamıyoruz. 4 lü arama ağacı nasıl oluyor ? Pointer-quard tree hakkında bilgi bulamıyoruz yardımcı olabilir misiniz ?
@@fatihertugral9112 senin örnekte mesela 18 e kadar geldi burda sıkıntı yok agac artık 18 i gösteriyo ,sonra bir daha agacın solu dediğinde artık ağacın solu null u gösteriyo return u görünce fonksiyonun orda bitmesi gerekmiyomu , ayrıca void fonksiyonda neyi dönderiyo o return bir şey döndürmüyosa fonksiyonu bitir manasında değilmi , ayrıca 18 in right ı yokki orda kalması gerekmiyomu 24 e nası çıktı tekrardan , bu dolaşı anlayan adam her şeyi yapar ben akıl sır erdiremedim
@@fatihertugral9112 en başta dolas(agac->left) dediğimiz zaman agacın lefti null olduğu için , agac==NULL fonksiyonunun içine girip return u görünce orda fonskiyonun bitmesi gerekmiyomu , niye tekrar 12 ye dönüyoki
bu tip soruları ödev sorusu olduğu için genelde çözmüyorum, ama vakit bulabilirsem dönem sonunda çözeyim (hocalarımız da aynı soruları vermesinler artık, biraz sorularda da yaratıcı olmak gerekiyor) :)
hocam void dolas fonksiyonunda [Error] a function-definition is not allowed here before '{' token diye bi hata alıyorum nedenini bulamadım bi yardımcı olursanız sevinirim
hocam cok sagolun ama neden hep c? ben de c dersi goruyorum ama merak ettim hocam? pyhton da falan pointer ol adigindan veri yapilari olusturu?amaz mi?
+Mustafa Çam hocam C ile başladık onunla bitirelim, sonrasında oop üzerinden de veri yapılarını anlatacağım (orada da java planlıyorum), veri yapıları çok genel kavramlar, her dilde vardır, bazılarında daha farklı yapılar da oluşturulabiliyor, javada anlattıktan sonra belki python veya farklı dillere de bakarız, ilginiz için teşekkürler.
+Mustafa Çam Bu arada C dilinin seçim sebebi ise düşük seviyeye daha yakın olmasıdır. Yani doğrudan pointer kodlayabilir dinamik hafıza fonksiyonlarını çağırabilirsiniz. Diğer üst seviye dillerde bu tip işler biraz farklı yürüyor, mesela java'daki gibi bir garbage collector yok C dilinde sizin oturup herşeyi kodlamanız gerekir. Genelde bu gibi sebeplerle C dilinde veri yapıları anlatılır ama diğer dillerde anlatılmaz diye bir şey yok, mesela java ile de anlatıldığı çok iyi yerler var, kısacası biraz tercih meselesi.
merhabalar hocam mail ile de yolladım , benim sıkıştığım bir sorun var veri yapıları sınavında kullanmam gerekiyor. Eğer ikili ağacın verilerini bir diziye aktarabilirsem birçok soru varyasyonunu cevaplamış olacağım.sizin veri yapıları derslerinizi de takip etmekteyim. yardımcı olabilir misiniz?
Heap ile ilgili çektiğimiz videoyu izlediniz mi? Heap tam da böyle çalışır. Gerçi size cevap vereyim derken baktım konuyu anlatmışım ama kodunu yazmamışım, vakit bulabilirsem bir ara yazıp yayınlarım (unutursam lütfen hatırlatım). Heap videosu: ruclips.net/video/HYLiT2wffUE/видео.html Başarılar
Daha ilerleyemedim oraya kadar ama şöyle bir şey yaptım ağacı dolaşan modülü değiştirerek hallettim ,printf ile datayı yazan yere yığın veya stack 'ın ekle metodunu koydum.büyükten küçüğe küçükten büyüğe diziye atabiliyorum yani. İlginiz için teşekkürler.
Şu kısımda en sola gittikten sonra tekrar geri nasıl geliyor arkadaşlar anlamadım ? void dolas(n *agac) { if(agac == NULL) { printf("sayi null") ; return ; } dolas(agac->sol); printf("%d ",agac->data) ; dolas(agac->sag) ; }
8 yıl kadar önce şöyle bir şeyler yazmışım, bilgisayarkavramlari.sadievrenseker.com/2008/05/15/avl-agaci-avl-tree/ yazının altındaki dengeleme kısmına tıklayarak okuyabilirsiniz nasıl çalıştığını. videosunu da çekmeye çalışırım
8 лет назад
Teşekkür ederim öncelikle hocam, bu makale kadar hayel ede biliyoruz ama video larınız daha etkili oluyor.
Her defasında belki bu sefer anlarım umuduyla gelip boş gidiyorum.Hocam Biraz Herkesimin anlayabildiği dilden konuşun ya çok heyecan yapıyosunuz hiç bişey anlamıyorum
Hocam elimizde bir aileye ait bilgiler var excel dosyasında biz bu bilgileri kullanarak soy ağacını nasıl yapabiliriz isim soyisim ile soy ağacına alabilir miyiz o verileri alırsak da nasıl yapabiliriz
Soyadınıza yaraşır bir hocasınız ne kadar cana yakın anlatıyorsunuz keyifle öğreniyoruz Allah razı olsun valla sayenizde ... Emeğinize sağlık
gerçekten hayatımda gördüğüm en iyi hocalardan birisi. inanılmaz güzel anlatıyor ya ❤
Hocam emekleriniz için ne kadar teşekkür etsek az. RUclips'dan üniversite okuyoruz sayenizde :D
Heykelini dikelim desek beton yetmez hocam
Hocam bunca yıllık deneyiminize rağmen, yazdığınız ağacın 30:57 'de doğru çalıştığını görünce yüzünüzde oluşan tebessüme kalbimizi bıraktık..
Hatali bu arada
:D @@Wolf1967.
Hocam hayatınızda verdiğiniz en doğru karar kafayı kazıtmanız sevgiler.
Hocam çok beğenerek takip ediyorum, tek eksik kodlayarak anlatmaman diyecektim ki başlamışsın bile initialize etmeye, emeğinize sağlık
Hocam gerçekten şahane anlatıyorsunuz. Teşekkür ederim her şey için. İyi ki varsınız.
30:08 canımı aldınız teşekkürler
Kulaklık gidiyor sandım ben de :D
Dalmışım. Sesi duyunca kendime geldim
Hocam çok güzel anlatmışsınız. Sağolun... OOP üzerinden de anlatımınızı bekliyoruz :)
Kesinlikle
Hocam çok süpersiniz özellikle uzun video arıyorum sırf daha detay girdiği için daha anlaşılır oluyor Çok teşekkür ederim. Taatiniz daim olsun. 👍🏻
emekleriniz için teşekkürler, dersleriniz çok yardımcı oluyor hocam..
dolaş fonksiyonunda anlamadığım bir şey var , şimdi burdaki ağaçta mesela 12 ye kadar gitti ,en son 12 yi de gönderdi dolaş fonksiyonuna sonra 12 fonksiyona girdiğinde dolas(agac->sol); kısmına gelicek ama ağacın solu yok orda hata vermesi gerekmiyomu , ayrıca 12 yi yazdıktan sonra bir üst düğüme nası geçiş yapıyo onada mantık yürütümedim , agac artık 12 yi gösteriyo , bir üstteki 18 i gösteren herhangi bir şey yok , nası çalıştığına akıl sır erdiremedim daha
Hocam ağacın solunun datasını nasıl alıyoruz? sol pointer olduğu için adresi geliyor. &sol->data yazdığımda hiç bir şey yazdırmıyor. &(agac->sol->data) da olmadı. Yardımlarınız için teşekkür ederim
hocam hakkınız ödenmez var olun
Yasasin buyuyunce cok basarili olcam
Günü gelince gerek bi başarı sayesinde gerek bi tesadüf sonucunda bi şekilde denk gelirsek emeğinizin üzerimde büyük olduğunun gerçeğini yüzünüze vurmaktan asla çekinmeyeceğim hocam :)
nerelerdesin abi hayat nasıl
hocam birçok yerde aramama rağmen türkçe bir kaynak bulamamıştım, yine hızır gibi yetiştiniz imdadıma :)
Hocam elimizde bir aileye ait bilgiler var excel dosyasında biz bu bilgileri kullanarak soy ağacını nasıl yapabiliriz isim soyisim ile soy ağacına alabilir miyiz o verileri alırsak da nasıl yapabiliriz
patron yazılımcı olmuş
Hocam elinizden geldiğinizce basitleştirerek anlatmaya çalışmışsınız, ama 'ekle' ve 'dolas' fonksiyonlarında recursive fonksiyonkullanarak agaçta nasıl gezdiğimizi çözemedim bir türlü.
Hocam emeğinize sağlık, çok akıcı anlatıyorsunuz.
Hocam Merhaba size bir sorum olacaktı
b-ağaçları neden ikincil depolardaki verileri değiştirmek için tercih edilir? bilgilendirirseniz sevinirim
Hocam 32:10
Sınıfa kamera koysanızda dersleri youtube yükleseniz :d
merhaba bişi sorabilir miyim ben c# ta çalışıyorum da yaptıklarınızı anladım fakat c# ta yazarken zorlanıyorum mesela malloc(sizeof) u c# ta array şeklinde yazmaya çalıştım olmadı hata aldım kaçırdığım bişi vardır ya da bilmediğim bişi vardır acaba bu konuda yardımcı olabilir misiniz ? bide java , c de ya da başka bi herhangi programlama dilinde yapay zeka ile ilgili videolar çekecek misiniz ? Ben bu konuda ilerlemek istiyorum sizin tavsiye ettiğiniz kitapları daha önceden de bulmuştum onlara yeni yeni başlıyorum ama videolarla daha iyi anlayabileceğimi düşünüyorum ki youtube da başka bi sürü yerde hala araştırıyorum ama tabikide türkçe kaynak çok az hep yabancı ingilizcem var ama türkçe daha güvende hissettiriyor sanki =)) acaba siz böyle bişi düşünüyor musunuz ? yardımlarınız için şimdiden teşekkür ederim sağ olun =)
birden fazla ikili arama ağacını nasıl oluşturabiliriz nested structure mı kullanmamız gerekiyor ?
hocam merhaba
sadece solda tek cocugu bulunan node ları sayan bir fonksiyon yazmaya calısıyorum fakat sonuc sacma cıkıyor kod sudur nerede hata var acaba
int countleftonechildnode(struct node* agac){
int counter;
while(agac->left!=NULL){
if(agac->right==NULL){
counter++;
}
agac=agac->left;
}
while(agac->right!=NULL){
agac=agac->right;
if(agac->left!=NULL&& agac->right==NULL)
counter++;
}
return counter;
}
dolaş fonksiyonunda en sola gittikten sonra nasıl yukarı çıktığının mantıklı bi cevabı olduğunu düşünmemeye başladım ,en sola yani 12 ye gitti ordanda fonksiyona null döndü fonksiyonda returnu gördü orda bitmesi gerekmiyomu , hadi returnu görmezden geldi diyelim bi daha nası çıkıyo üstteki düğüme 12 de kalması gerekiyo
Şadi hocam bir sorum olacaktı.BST'de en büyük 3.elemanı bulma veya küçük kodu nasıl olacak acaba ?
Emeğinize sağlık hocam... Bu uygulamada ağacın yüksekliğini nasıl hesaplarız hocam.?
binary search de neden tüm ağacı gezdik. Zaten amaç daha az maliyetle bulmak değil mi?
hocam iyi günler ,eşit olma durumunda hatalı yazıyor agaç yapısı bozuluyor ; mesela 10-5-20-60-30-10-40-80 agacımız oldugunu varsayalım 10 elemanından iki tane var ama sadece bir tanesini yazdırıyor buda yapının bozulmasını sağlıyor eşitlik durumunda ne yapabiliriz yardımcı olabilirmisiniz
neden node struct ını her zaman pointer olarak tanımlıyoruz?
merhabalar, acaba bu ağaçlar ile ilgili kodlar yazarken dikkat edilmesi gerekenler. example: while sadece bir tarafı dolaşır tarzında bunları bizimle paylaşabilirmisiniz ağaç dolanma sorularında bunu yanlış yapıyorum hep
Sayın hocam ekleme kısmının sonunda aklıma geldi, büyük küçük durumu tamam ama eşit olma durumunda ne yapılıyor, videoda söz ettiyseniz benim dikkatsizliğim affınıza sığınıyorum. Bir de hocam bu gibi şeyler çok havada kalmaya müsait,en azından benim için, örnek içeren kitap önerebilir misiniz? ve ya video sonunda şöyle bir şey yazmaya çalışın diye öneride bulunabilir misiniz? Teşekkürler.
Merhabalar, üzerinden 6 yıl geçmiş ama yine de cevaplayayım. Aynı olan durumlarda ekleme yapmıyoruz. Böyle şeylerin hava kalması hâli de çok tabii. Çünkü pratik hayatta (düşük seviyeli işlerle uğraşmadığımız müddetçe) kullandığımız yapılar değil. Sizler zaten web alanına yönelmişsiniz artık veri yapılarının yanından dahi geçmiyorsunuzdur. Esenlikler dilerim!
hocam ben eski üniversiteniz İÜ bilgisayar müh. öğrencisiyim.Önceden oluşturulmuş iki ağacı birleştirebilecek bir program nasıl yazılır?ayrıca ikili ağacın maksimum ve minumum derinliğini bulan bir program nasıl yazabiliriz?Şimdiden ilginiz için çok teşekkür ederim
evet bunlar çok klasik ödev soruları. Bir ara vakit bulabilirsem buna benzer uygulamalar için videolar çekeceğim. Soru seti hazırlamak gibi bir niyetim var, videolarını çektiğimiz seriler için sırasıyla her konudan 5 - 10 arası klasik soruyu önce sorup sonra çözümünü yapmak şeklinde, ama ne zaman yapabilirim bilmiyorum.
Başarılar dilerim.
Çok teşekkür ederiz hocam eğitimleriniz için
Hocam emeginize hayranim .Allah razi olsun
Kisacik bisi 14. 21 de if (iter -> sol !=NULL) içerde olması gerekiyormu yoksa ben bir düşünce hatasımı yapıyorum ?
evet indentetaionla anlatmaya çalışmışım, blok parantezlerini kast ediyorsanız blok açılıp içerisine konulması gerekiyor. Ancak o kodu anlatmak için yazdım, zaten sonra silip doğrusunu yazıyorum.
Evet hocam çok haklısınız, boş konuştum sağolun .
Hocam ellerinize sağlık
Hocam keşke şu kısmın tam olarak nasıl çalıştığını detaylandırsaydınız biraz havada kaldı.
Ağacın 2 dalı var bir dalındaki sagına bakıyor peki diğer salındaki sağa nasıl geçiyor?
if(bul(agac->sag,aranan)==1)
return 1;
if(bul(agac->sol,aranan==1))
return 1;
Hocam benim anladığım kadarıyla kod rekursiv çalıştığı için her ağacın sağında arama kısmına geldiğinde tekrar başa dönüp onun sağında arıyor yani sağın sağına sonra da onun sağına gidiyor bir kere en sağa kadar gittikten sonra artık bu olaydan çıkıyor bi soldakine geçip bu sefer de onun en sağına kadar gidiyor. Umarım yardımcı olabilmişimdir.
abi doğrusal aramanın algoritmasını bana ulaştırabilme şansınız var mı ya da herhangi bir dersinizde varmı ?
Sayın hocam, yazdığınız kodları indirebileceğimiz bir yer var mı??
27:45
Hocam acayip uyuz ediyosunuz ya :D Lütfen farenin tekerleği ile aşağı inseniz ne olur . Lütfen :D
hocam ekleme kısmında struct n'in içine n * left ve n * right yazdığımda n lerin altı kırmızı gösteriyor başına sturct geçince hata düzeliyor ama bu seferde typedef n yazdığımda hata alıyorum.
anladığım kadarıyla devcpp çalışıyorsunuz benim gibi typedef struct n node; yazmanız halinde düzelecektir.
@@emreyarkn8687 kurtuldum lanet dersten birdaha yolum düşmez ins
Hocam merhaba . Bir konuda kaynak bulamıyoruz. 4 lü arama ağacı nasıl oluyor ? Pointer-quard tree hakkında bilgi bulamıyoruz yardımcı olabilir misiniz ?
özel bir ağaç değil, 2'li arama ağacını anladıysanız aslında arada hiç fark yok diyebilirim, tek fark 2 yerine 4 çocuk olması.
teşekkürler hocam :D
Teşekkür ederim
dolaş fonksiyonunun mantığını çözemedim ağaç direct bir yapı dediniz dolaş(ağaç->sağ) ile en sağa iniyor daha sonra nasıl geri dönüyor
aynı bende orada takıldım :(
hocam bizi aydınlatırsanız sevinirim :)
Bende orada takıldım anlayan biri varsa anlatabilirmi
@@fatihertugral9112 senin örnekte mesela 18 e kadar geldi burda sıkıntı yok agac artık 18 i gösteriyo ,sonra bir daha agacın solu dediğinde artık ağacın solu null u gösteriyo return u görünce fonksiyonun orda bitmesi gerekmiyomu , ayrıca void fonksiyonda neyi dönderiyo o return bir şey döndürmüyosa fonksiyonu bitir manasında değilmi , ayrıca 18 in right ı yokki orda kalması gerekmiyomu 24 e nası çıktı tekrardan , bu dolaşı anlayan adam her şeyi yapar ben akıl sır erdiremedim
@@fatihertugral9112 en başta dolas(agac->left) dediğimiz zaman agacın lefti null olduğu için , agac==NULL fonksiyonunun içine girip return u görünce orda fonskiyonun bitmesi gerekmiyomu , niye tekrar 12 ye dönüyoki
22:21 : left node right dolaşması
hocam ağacın derinliğini bula bir fonksiyonu nasıl yazabiliriz ?
bu tip soruları ödev sorusu olduğu için genelde çözmüyorum, ama vakit bulabilirsem dönem sonunda çözeyim (hocalarımız da aynı soruları vermesinler artık, biraz sorularda da yaratıcı olmak gerekiyor) :)
hocam void dolas fonksiyonunda
[Error] a function-definition is not allowed here before '{' token diye bi hata alıyorum nedenini bulamadım bi yardımcı olursanız sevinirim
yanlış alana yazıyorsunuzdur. Kodlar sitede var şuradan indirip kendi kodunuz ile karşılaştırabilirsiniz:
sadievrenseker.com/wp/?page_id=546
Başarılar
hocam cok sagolun ama neden hep c? ben de c dersi goruyorum ama merak ettim hocam? pyhton da falan pointer ol adigindan veri yapilari olusturu?amaz mi?
+Mustafa Çam hocam C ile başladık onunla bitirelim, sonrasında oop üzerinden de veri yapılarını anlatacağım (orada da java planlıyorum), veri yapıları çok genel kavramlar, her dilde vardır, bazılarında daha farklı yapılar da oluşturulabiliyor, javada anlattıktan sonra belki python veya farklı dillere de bakarız, ilginiz için teşekkürler.
+Mustafa Çam Bu arada C dilinin seçim sebebi ise düşük seviyeye daha yakın olmasıdır. Yani doğrudan pointer kodlayabilir dinamik hafıza fonksiyonlarını çağırabilirsiniz. Diğer üst seviye dillerde bu tip işler biraz farklı yürüyor, mesela java'daki gibi bir garbage collector yok C dilinde sizin oturup herşeyi kodlamanız gerekir. Genelde bu gibi sebeplerle C dilinde veri yapıları anlatılır ama diğer dillerde anlatılmaz diye bir şey yok, mesela java ile de anlatıldığı çok iyi yerler var, kısacası biraz tercih meselesi.
Hocam graph in data structure içinde video çeker misiniz??
merhabalar hocam mail ile de yolladım ,
benim sıkıştığım bir sorun var veri yapıları sınavında kullanmam gerekiyor.
Eğer ikili ağacın verilerini bir diziye aktarabilirsem birçok soru varyasyonunu cevaplamış olacağım.sizin veri yapıları derslerinizi de takip etmekteyim.
yardımcı olabilir misiniz?
Heap ile ilgili çektiğimiz videoyu izlediniz mi? Heap tam da böyle çalışır. Gerçi size cevap vereyim derken baktım konuyu anlatmışım ama kodunu yazmamışım, vakit bulabilirsem bir ara yazıp yayınlarım (unutursam lütfen hatırlatım).
Heap videosu: ruclips.net/video/HYLiT2wffUE/видео.html
Başarılar
Daha ilerleyemedim oraya kadar ama şöyle bir şey yaptım ağacı dolaşan modülü değiştirerek hallettim ,printf ile datayı yazan yere yığın veya stack 'ın ekle metodunu koydum.büyükten küçüğe küçükten büyüğe diziye atabiliyorum yani. İlginiz için teşekkürler.
Hocam, Red-Black Trees ile ilgili videonuz varmi?
Hocam anlayamıyorum ya çok güzzel anlatıyorsunuz ama mantık nedense oturmuyor kafamda
YARINN SINAV VARRR BİR GECE ÖNCESİ TUM TUSLARA BASMA
Hocam LNR LRD ve NLR şeklinde tarama listeleri verilen bir ağacı çizerken ne yapabilirim?
unutmazsam dönünce açıklamalı bir örnek video çekeyim.
intro drip
🔥🔥🔥🔥🔥🔥😎😎😎
12 ile 15 . dakikalardaki karmaşa bayağı yordu.
agacın sağına soluna eklerken güzelde , malloc yer açmıyoruzki nereye ekliyo havayamı ekliyo , algoritmayıda kavrayamadım zaten
aslında malloc kullanıyoruz fonksiyonun içinde mallocu tanımladık yeni düğüm eklemek istediğimiz de o fonksiyonu çağırıp halledebiliyoruz.
abi adamsın çok sağol cidden ,bu arada ne mezunusun abi sen
Eğitim bilgilerim burada var: sadievrenseker.com/wp/?page_id=133
Başarılar dilerim.
Hocam neden java da yazmıyorsunuz?
java ile veri yapıları için özel bir eğitim serisi hazırlayacağım, o zaman bu videoların java versiyonlarını da çekmeye çalışacağım.
Şu kısımda en sola gittikten sonra tekrar geri nasıl geliyor arkadaşlar anlamadım ?
void dolas(n *agac) {
if(agac == NULL) {
printf("sayi null") ;
return ;
}
dolas(agac->sol);
printf("%d ",agac->data) ;
dolas(agac->sag) ;
}
Soyle ki recursive yani soyle oluyor
void function(int n) // n = 10
{
if(n < 1)
return;
function(n-1)
printf("%d ", n);
}
Output: 1 2 3 4 5 6 7 8 9 10
C://Veriler.txt içindeki verileri ikili ağaca ekleyen C kodunu yazınız.İstenilen bu.Ama yazdığım kod çalışmıyor hatam nerede acaba?
#include
#include
typedef struct n{
int data;
struct node* sol;
struct node* sag;
}node;
node* tree=NULL;
node* ekle(node* agac,node* yeni){
if(agac==NULL){
node* root=(node*)malloc(sizeof(node));
root->sag=NULL;
root->sol=NULL;
root->data=yeni;
return root;
}
if(agac->datasag=ekle(agac->sag,yeni);
return agac;
}
agac->sol=ekle(agac->sol,yeni);
return agac;
}
void dolas(node* agac){
if(agac==NULL){
return;
}
dolas(agac->sol);
printf("%d ",agac->data);
dolas(agac->sag);
}
int main()
{
node* yeni=NULL;
FILE *dosya;
dosya=fopen("veriler.txt","r");
while(feof(dosya)){
fscanf(dosya,"%d",yeni->data);
ekle(tree,yeni);
}
dolas(tree);
return 0;
}
AVL yok mu hocam? :(
8 yıl kadar önce şöyle bir şeyler yazmışım,
bilgisayarkavramlari.sadievrenseker.com/2008/05/15/avl-agaci-avl-tree/
yazının altındaki dengeleme kısmına tıklayarak okuyabilirsiniz nasıl çalıştığını.
videosunu da çekmeye çalışırım
Teşekkür ederim öncelikle hocam, bu makale kadar hayel ede biliyoruz ama video larınız daha etkili oluyor.
Hocam AVL kodu bekliyoruz :)
Hocam kodu paylaşabilirmisiniz
kodlar sitede var.
Geldik yine lanet konuya...
geçemiyorum olmuyor
netflix üyeliğim vardı bu kadar reklamdan sonra karar verdim iptal edecem
Her defasında belki bu sefer anlarım umuduyla gelip boş gidiyorum.Hocam Biraz Herkesimin anlayabildiği dilden konuşun ya çok heyecan yapıyosunuz hiç bişey anlamıyorum
Anlamiyorsan demek ki çok yanlis yerdesin demektir.
Yazilim bilgin olmasi lazim.
Anlatamıyosun -1.
Bu kadar insan anlarken sen anlamıyorsan senin sorunun
siktir git lan şurdan şadi reise laf ettirmem
kaybol.
Hocam elimizde bir aileye ait bilgiler var excel dosyasında biz bu bilgileri kullanarak soy ağacını nasıl yapabiliriz isim soyisim ile soy ağacına alabilir miyiz o verileri alırsak da nasıl yapabiliriz