Leetcode aç ve harıl harıl problem çöz.Data Structures and Algorithms Roadmap
Learn about Data Structures and Algorithms using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern data structure and algorithms.roadmap.sh
Arkadaşlar merhaba. Algoritma hiç çalışmadım. Bu konularda eksikliklerim var. Böyle bir yol haritası buldum. Java programlama dili kullanarak yapmak isterim ama çok üstünde durmalı mıyım bu konuların?
Sağ olun teşekkür ettim.
@TheAny @bitwise @count
Hocam şimdi ben çözmeye çalışırım ama demek istediğim diyelim bir iş yerinde işe girdik. Bunları orada kullanacak mıyız? Çünkü mesela Java'da sıralama algoritmaları var ondan.Leetcode aç ve harıl harıl problem çöz.
Bunun olayı bu. İngilizce terimlere kulak aşinalığın da olur hem.
Gerçek dünyada 1-1 aynı problem gelmeyebilir tabii.Hocam şimdi ben çözmeye çalışırım ama demek istediğim diyelim bir iş yerinde işe girdik. Bunları orada kullanacak mıyız? Çünkü mesela Java'da sıralama algoritmaları var ondan.
Ben birazcık bu konuları kullanım dışı gördüğümden anlam ve önemini hiç anlamadım yani. Sizlere bu yönden danışayım dedim.
çok üstünde durmalı mıyım bu konuların?
Algoritma, veri yapıları bilmeyen biri ne geliştirebilir bilmiyorum, bir iş yerinde işe girmeniz çok zor (eğer iş yeri statik html sayfası üretip para kazanmıyorsa 2000 senesindeymişiz gibi). Tutoriallerdekinden daha karmaşık şeyler yapmak gerekecek, sort edilecek data [3,6,1] gibi birkaç tane sayı olmayacak, veri yapılarını kendinizin tasarlaması gerekecek, tutoriallerdeki gibi string a, int b şeklinde birkaç fieldı olan classlarla değil, nested yapılarla uğraşmanız gerekecek, sorting, filter, clone, algoritmayı parallel çalıştırma vb. çözümler üreteceksiniz, java demişsiniz javadaki bilindik her yapıyı ve o anda sizin işinize en verimli olarak hangisi yarıyorsa onu kullanacaksınız, list arraylist, map hashmap deyip geçmemeniz beklenecek yani vs.Hocam şimdi ben çözmeye çalışırım ama demek istediğim diyelim bir iş yerinde işe girdik. Bunları orada kullanacak mıyız? Çünkü mesela Java'da sıralama algoritmaları var ondan.
Ben birazcık bu konuları kullanım dışı gördüğümden anlam ve önemini hiç anlamadım yani. Sizlere bu yönden danışayım dedim.
Ben hazır olmadlığıma karar verdim. Direkt bıraksam en iyisi olacaktır hocam.Başlıktaki soru ile içerikteki soru farklı,
Nasıl bir yol haritası yapılmalı sorunuz ile beraber
bu soru için: bilmiyorum, ne amaçla algoritma ve veri yapıları öğrenmek istiyorsunuz, eğitimi nasıl alacaksınız, ne kadar süre harcayacaksınız, nasıl kendinizi sınayacaksınız yani öğrenip öğrenmediğinize kim karar verecek vs. çok sayıda soru sorulur bu sorulara.
Amatör olarak kendi kendinize kod yazmanın ötesinde bir şey düşünüyorsanız; evet, çok üstünde durmalısınız, yani yapılması gereken bir iş için hem veriler için (dbdeki tablolardan kodunuzdaki classlara kadar yani) hem işleyiş için kafanızda çözüm hızlıca oluşabilmeli;
sonra bunu en ideal, en basit ama efektif, en ağır yük/trafik ile sorunsuz çalışabilecek, en kaynak tüketmeyecek, en kolay bakım yapılabilecek, en başkasının bile bakar bakmaz anlayabileceği vs. şekilde detaylandırıp implemente edebilmeniz gerekiyor. Bu konuların üzerinde durmazsanız yazılım mimarisi öğrenemezsiniz, OOP anlayamazsınız, db normalizasyonu ne işe yarar onu bile idrak edemezsiniz vb., yani ileriki konular için temeldir bu konular.
Algoritma, veri yapıları bilmeyen biri ne geliştirebilir bilmiyorum, bir iş yerinde işe girmeniz çok zor (eğer iş yeri statik html sayfası üretip para kazanmıyorsa 2000 senesindeymişiz gibi). Tutoriallerdekinden daha karmaşık şeyler yapmak gerekecek, sort edilecek data [3,6,1] gibi birkaç tane sayı olmayacak, veri yapılarını kendinizin tasarlaması gerekecek, tutoriallerdeki gibi string a, int b şeklinde birkaç fieldı olan classlarla değil, nested yapılarla uğraşmanız gerekecek, sorting, filter, clone, algoritmayı parallel çalıştırma vb. çözümler üreteceksiniz, java demişsiniz javadaki bilindik her yapıyı ve o anda sizin işinize en verimli olarak hangisi yarıyorsa onu kullanacaksınız, list arraylist, map hashmap deyip geçmemeniz beklenecek yani vs.
Siz neye dayanarak "birazcık" kullanım dışı görüyorsunuz? Yani gittiniz, arama motorunda java sorting diye arattınız, ilk sonuç geldi
Arrays.sort(arr); diye javada olan bir şey olduğunu öğrendiniz, sizce googledan 10 saniyede edinilecek bir bilgi insana, mesleki olarak para kazanabileceği bir şey katar mı? Yani işverenler, firmalar [3,6,1] diye sayılardan oluşan arrayler var, listler var, Arrays.sort kullanmasını bilen eleman bulmalıyım mı diyorlar?Sorting in Java - GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.www.geeksforgeeks.org
Kendinizi hazır hissettiğinizde staj tarzı bir şey ayarlamaya çalışın, işyeri havası solumadan, para karşılığı yazılmış kodlara temas etmeden bu çarklar nasıl dönüyor anlaması zor bence.
Leetcode olabilir, algoritma sorularını kolaylarından itibaren çözmeye başlayarak, diğer insanların çözümlerini de inceleyerek devam edebilirsiniz, ne neden yapılıyor anlayabilirsiniz.Ben hazır olmadlığıma karar verdim. Direkt bıraksam en iyisi olacaktır hocam.
Teşekkür ettim. Anladım ki bu sektör köle istiyor. Ondan bırakacağım hocam. Şuna bak yani dünyanın şeyini öğrenmeni istiyor bu sektör.Leetcode olabilir, algoritma sorularını kolaylarından itibaren çözmeye başlayarak, diğer insanların çözümlerini de inceleyerek devam edebilirsiniz, ne neden yapılıyor anlayabilirsiniz.
Neden böyle düşünüyorsun ki? O zaman ortaokulda yaptığın herhangi bir matematik dersi de seni köle mi yapar?Teşekkür ettim. Anladım ki bu sektör köle istiyor. Ondan bırakacağım hocam. Şuna bak yani dünyanın şeyini öğrenmeni istiyor bu sektör.
O konu hakkında bir şey diyemem ama şu an için çok ders çalışmamız gerek ya ondan dedim hocam.Neden böyle düşünüyorsun ki? O zaman ortaokulda yaptığın herhangi bir matematik dersi de seni köle mi yapar?