veri yapıları
-
odevleri, projeleri ve sonunda sinavlari bitirdiginizde big oh cekersiniz.
-
edit: asagidaki linkler malesef calismiyor, aynilarinin yen linklerini bulamadim. ancak udemy, coursera gibi sitelerden de benzer egitimleri edinebilirsiniz.
bir takım derslere aşağıdaki linklerden görsel bazda ulaşabileceğiniz konu... fi tarihinde kenara atmışım, kalmış, neden göndermemişim allah bilir...
1. developing a simple program (http://blip.tv/…/get/aeaccount3-ucbcs61blec2154.mp4)
2. more on simple programs (http://blip.tv/…/get/aeaccount3-ucbcs61blec4388.mp4)
3. values and containers (http://blip.tv/…/get/aeaccount3-ucbcs61blec5278.mp4)
4. simple pointer manipulation (http://blip.tv/…/get/aeaccount3-ucbcs61blec6511.mp4)
5. arrays and objects (http://blip.tv/…/get/aeaccount3-ucbcs61blec8481.mp4)
6. object-oriented mechanisms (http://blip.tv/…/get/aeaccount3-ucbcs61blec9463.mp4)
7. interfaces and abstract classes (http://blip.tv/…get/aeaccount3-ucbcs61blec10236.mp4)
8. abstract methods and classes, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec11582.mp4)
9. examples of interfaces (http://blip.tv/…get/aeaccount3-ucbcs61blec12974.mp4)
10. misc. support for abstraction; exceptions (http://blip.tv/…get/aeaccount3-ucbcs61blec13985.mp4)
11. misc. support for abstraction, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec14429.mp4)
12. numbers (http://blip.tv/…get/aeaccount3-ucbcs61blec15738.mp4)
13. algorithmic analysis i (http://blip.tv/…get/aeaccount3-ucbcs61blec15604.mp4)
14. algorithmic analysis ii (http://blip.tv/…get/aeaccount3-ucbcs61blec16560.mp4)
15. collections overview (http://blip.tv/…get/aeaccount3-ucbcs61blec17922.mp4)
16. paradox of voting (http://blip.tv/…get/aeaccount3-ucbcs61blec18725.mp4)
17. resource curse (http://blip.tv/…get/aeaccount3-ucbcs61blec19304.mp4)
18. getting a view - sublists (http://blip.tv/…get/aeaccount3-ucbcs61blec20814.mp4)
19. data structures exam review (http://blip.tv/…get/aeaccount3-ucbcs61blec21769.mp4)
20. trees (http://blip.tv/…get/aeaccount3-ucbcs61blec23845.mp4)
21. trees, searching (http://blip.tv/…get/aeaccount3-ucbcs61blec24257.mp4)
22. generic programming (http://blip.tv/…get/aeaccount3-ucbcs61blec25401.mp4)
23. priority queues, range queries (http://blip.tv/…get/aeaccount3-ucbcs61blec26830.mp4)
24. hashing (http://blip.tv/…get/aeaccount3-ucbcs61blec27390.mp4)
25. sorting (http://blip.tv/…get/aeaccount3-ucbcs61blec28652.mp4)
26. sorting, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec29640.mp4)
27. balanced search structures (http://blip.tv/…get/aeaccount3-ucbcs61blec30532.mp4)
28. balanced search structures, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec31806.mp4)
29. pseudo-random sequences (http://blip.tv/…get/aeaccount3-ucbcs61blec32964.mp4)
30. backtracking search, game trees (http://blip.tv/…get/aeaccount3-ucbcs61blec33325.mp4)
31. enumeration types, threads, and concurrency (http://blip.tv/…get/aeaccount3-ucbcs61blec34468.mp4)
32. threads and concurrency, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec35754.mp4)
33. graphs, introduction (http://blip.tv/…get/aeaccount3-ucbcs61blec36471.mp4)
34. graphs, minimal spanning trees, union-find (http://blip.tv/…get/aeaccount3-ucbcs61blec37877.mp4)
35. graphs, continued (http://blip.tv/…get/aeaccount3-ucbcs61blec38807.mp4)
36. dynamic programming (http://blip.tv/…get/aeaccount3-ucbcs61blec39827.mp4)
37. storage management (http://blip.tv/…get/aeaccount3-ucbcs61blec40989.mp4)
38. storage management, continued, reflection (http://blip.tv/…get/aeaccount3-ucbcs61blec41968.mp4)
39. data structures course summary (http://blip.tv/…get/aeaccount3-ucbcs61blec42163.mp4) -
gayet faydalı, ileri konularıyla programlama mantığınızı sallayan, bilgisayar bilimleri sahası.
dünya üzerindeki kavramların, olguların, olayların, nesnelerin, ilişkilerin bilgisayar yapısı üzerinde nasıl temsil edileceğine dair şeyler bulursunuz.
örneğin dosya sisteminin bir b ağacı (bkz: b trees) şeklinde tutulduğu...
veya düğümler (nodes) arasında değişik maliyetlere sahip ilişkilerin bir graph yapısıyla temsil edildiği. "bir şehirden bir şehire, en az maliyetle nasıl giderim"e sezgisel algoritmalarla cevap arandığı...
değişik âlim zatlarla (dijkstra, josephus, ..) tanıştığınız... zengin bir ders halinde sunulur talebeye.
aslında günümüzün modern programlama ortamları, "data structures" kapsamında anlatılan yapıları hazır olarak sunmaktadırlar. zira, amaç produktiviteyi artırmak olduğundan; zaten nasıl olduğu, nasıl çalıştığı ve kullanıldığı belli olan şeyler için programcı yorulmasın fikri hakimdir.
iyidir, hoştur aslında. ama bu modern ve hazır yapıları kullanan insanlar arasında, bunları daha önce el ile (manuel) gerçeklemiş (implemente etmiş) ve kullanmış olanların gözleri daha bi ışıldayacaktır şüphesiz.
velhâsıl, data structures, yani "veri yapıları" (ve algoritmalar), programlama yapmak isteyen her türk gencinin idrakine kazıması ve uygulaması gereken bir öğreti topluluğudur. -
bu derste işlenen birçok konunun gerçek hayatta bir şekilde uygulaması vardır. yani bir nevi gerçek yaşamın bilgisayar ortamına soyutlanmasını öğreten ders diyebiliriz. ege üniversitesi bilgisayar mühendisliği bölümü'nde ikinci sınıfın ilk döneminde verilir.
o kadar ayrık matematik öğrendik ne işe yarayacak bunlar? sorusunun cevabıdır aynı zamanda.
(bkz: çizgeler)
(bkz: zaman karmaşıklığı) -
bilgisayar mühendisliğinin en temel derslerinden biridir.
eğer ki bir kişi bu derste zorlanmayıp önemli veri yapılarını gerçekten anlayıp kavrayabilmişse, bilgisayar mühendisliğini seçerek çok doğru bir karar vermiştir denebilir. iyi öğrenilmediği takdirde tekrar alınması ya da dışarıdan bu konunun geliştirilmesi gerektiği taraftarıyım.
bir uygulamayı gerçekleştirmek için her zaman primitive data type lar yeterli ya da verimli olmayabilir. iyi bir yazılımcı kodlayacağı sistemi dışardan en genel şekilde görüp, uygun abstraction ları yapıp, gerekli veri yapısına karar verebilmelidir.
çoğu üniversitede linked list,stack, queue, iterator, tree, hash table gibi yer yer kolay ama çoğu zaman çok çok verimli kod yazmayı sağlayan temel yapılar işlenir.
veri yapılarının önemli özelliklerinden birisi işlem zamanının kısa olmasıdır. en basitinden şöle düşünelim. elimizde kapasitesi 10 olan ve tamamı dolu bir dizi var. ben bu diziye 1 yeni eleman daha eklemek istersem. öncelikle boyutu 10 dan büyük yeni bir dizi yaratmalı ve eski elemanları da bu diziye eklemek zorundayım. yani o(n) kadar sürede bu işlemi gerçekleştirebilirim. ama aynı problemi bir singly-linked list aracılığı ile yapmak isteseydim, tek yapacağım yeni bir node oluşturup eski listenin sonunu yeni oluşturduğum node a point etmek olacaktı. o(1) kadar sürede bu işi halledicektim. 10-20-30 gibi küçük sayılarda bu sorun teşkil etmeyebilir ama büyük sayılarda o(n) yerine o(1) işlem yapmak çok şey kazanmaktır. -
bir bilgisayar mühendisinin hakkını vererek öğrenmesinde yarar göreceği derstir. ilk başta genel algoritma yapılarından bahsedilir. verilen bir algoritmanın complexitysinin hesaplanması gibi olaylar üzerinde durulur. daha sonra sorting algoritmalarından bahsedilir.bunları öğrenen bünye daha sonra stack, queue ve linked list gibi yapılardan haberdar edilir. trees konusuna geçilmeden önce graph kavramından dem vurulur ve treeler anlatılır. binary tree kavramına ağırlık verilir. treelerin de tamamlanmasıyla beraber database sistemlerinin temelini oluşturan heaplerden bahsedilir ve en soununda hashing kavramı işlenir. dersin amacı kodlamayı öğretmekten ziyade daha verimli kod yazmaktır. kısacası öğrenin öğretin.
-
"ıf the data structure can't be explained on a beer coaster, it's too complex." - felix von leitner (bir linux forum imzası)
-
-
bilgisayar bilimi* için, hatta daha aşağı seviyede bellekte* veriye ilişkin depolanan organize elektrik yükleri için tabula rasa olması gereken konsept.
-
her bilgisayar mühendisinin okurken cebelleşmek zorunda kaldığı ama mezun olduktan sonra yapıyı çöpe atıp sadece veriyle baş başa kalacağı işler için 7500 tl net ücret talep edecek cürete erişecek kadar pohpohlanacağı bir kariyer labirentinde kaybolacağı gerçeğinden habersizce bir bellek adresinden diğerine fütursuzca gezinen işaretçiler ile halvet olduğu derstir.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap