[]
Dil bilmeden algoritma çalışılır mı?
c# ve vb.net'i derdimi anlatacak kadar biliyorum (en fazla veri al, veri gir, db'ye bağlan falan). şu sıralar python çalışıyorum ve fırat özgül'ün kitabına baştan başlayıp sonuna kadar bitireceğim.
veri yapıları ve algoritma çalışmak için dili bitirmek şart mı? dili bitirmeden de çalışabilir miyim? şu an binary search tree, sieve of eratosthenes falan bakıyorum. mantığını anlamama rağmen kodlamaya dökemiyorum. bunun sebebi pratik eksikliği mi yoksa benim gerizekalı olmam mı? ne yapmalıyım?
veri yapıları ve algoritma çalışmak için dili bitirmek şart mı? dili bitirmeden de çalışabilir miyim? şu an binary search tree, sieve of eratosthenes falan bakıyorum. mantığını anlamama rağmen kodlamaya dökemiyorum. bunun sebebi pratik eksikliği mi yoksa benim gerizekalı olmam mı? ne yapmalıyım?
calisilir ama cok zor olur cunku bircok ornek mutlaka bir dil kullanarak ifade ediliyor. Bir dil kullanilmazsa da cok soyut ve anlasilmasi zor oluyor. Ozetle dil bilmeden algoritma ogrenmeye calismak X, Y gibi denklem kavramlarini bilmeden matematik ogrenmek gibi olur, her bir deger icin kutu cizmek durumunda kalirsin.
Ogrenmek icin ise bir dili cok iyi bilmen gerekmiyor, genelde bir dilin temel kavramlari olan data dipleri (integer, string, double, float vs.), diziler (array), karar ifadeleri (if, if-else), donguler (for, while, do-while vs) bilmen yeterli. bu konular genelde C#, java gibi dillerde kitaplarin ilk birkac bolumunde anlatilan seyler, ogrenmesi 1 haftayi gecmez. bunlari ogrendikten sonra algoritmalari ogrenmen hem daha rahat pratik yapmani, hem de ogrendigin algoritmayi kanli canli test etmeni saglar. boylece ogrendigini unutmazsin. Bildigin seyi bir dil ile yazip ifade edememen de pratik eksikliginden oluyor, pratik yaptikca cozulur.
Dil ile ilgili temel kavramlari elinin altinda bir yere not al kopya kagidi (cheat sheet) misali. for dongusu nasil yazilir, integer nedir hangi degerleri alir vs. 1-2 sayfa kagit yazsan yeter. bilgisayar ekranin yanina hemen gorecegin sekilde koy. 1-2 sayfa da temel algoritmalar ile ilgili kopya kagidi hazirla. siralama algoritmalari, ne amacla kullanilir, hangi adimlar ile yazilir(pseudocode). bu kagidi da ekranin bir kenarina koy. sonra bol bol deneme yap, takildigin yerden bu kagitlardan kopya cek. bol tekrardan sonra zaten bir sure sonra bu kagitta yazanlari ezberlemis olursun, bakman gerekmez.
Ogrenmek icin ise bir dili cok iyi bilmen gerekmiyor, genelde bir dilin temel kavramlari olan data dipleri (integer, string, double, float vs.), diziler (array), karar ifadeleri (if, if-else), donguler (for, while, do-while vs) bilmen yeterli. bu konular genelde C#, java gibi dillerde kitaplarin ilk birkac bolumunde anlatilan seyler, ogrenmesi 1 haftayi gecmez. bunlari ogrendikten sonra algoritmalari ogrenmen hem daha rahat pratik yapmani, hem de ogrendigin algoritmayi kanli canli test etmeni saglar. boylece ogrendigini unutmazsin. Bildigin seyi bir dil ile yazip ifade edememen de pratik eksikliginden oluyor, pratik yaptikca cozulur.
Dil ile ilgili temel kavramlari elinin altinda bir yere not al kopya kagidi (cheat sheet) misali. for dongusu nasil yazilir, integer nedir hangi degerleri alir vs. 1-2 sayfa kagit yazsan yeter. bilgisayar ekranin yanina hemen gorecegin sekilde koy. 1-2 sayfa da temel algoritmalar ile ilgili kopya kagidi hazirla. siralama algoritmalari, ne amacla kullanilir, hangi adimlar ile yazilir(pseudocode). bu kagidi da ekranin bir kenarina koy. sonra bol bol deneme yap, takildigin yerden bu kagitlardan kopya cek. bol tekrardan sonra zaten bir sure sonra bu kagitta yazanlari ezberlemis olursun, bakman gerekmez.
- emrahday (17.11.17 17:59:32)
Dil bilmek algoritma konusunda çok da elzem değil. Pseudo code dediğimiz syntax a vs takılmadan descryptive tarzda çalışabilirsiniz.
Şöyle bir problemle karşılaşmanız olası. Örneğin sizin ilerde kullanmak/uzmanlaşmak istediğiniz bir dilde olan X veri yapısı yazacağınız algoritma için hayatı inanılmaz kolaylaştırıyor olabilir. Ama siz o dili pek iyi bilmediğiniz için o X data struxture ından bir haber şekilde tekerleği tekrar icat etmeye çalışıyor olabilirsiniz.
Şöyle bir problemle karşılaşmanız olası. Örneğin sizin ilerde kullanmak/uzmanlaşmak istediğiniz bir dilde olan X veri yapısı yazacağınız algoritma için hayatı inanılmaz kolaylaştırıyor olabilir. Ama siz o dili pek iyi bilmediğiniz için o X data struxture ından bir haber şekilde tekerleği tekrar icat etmeye çalışıyor olabilirsiniz.
- elon (17.11.17 18:04:06)
grek yok. zaten bilg müh derslerinde proglama blgisi olm<adan gsteliyr algrtma
- Cursed Chico (17.11.17 18:46:13)
1