DSA Camp yohud bularni o'rganishdan nima foyda?
Dasturlashga yangi kirib kelayotgan deyarli 90% odamlar high-level dasturlash tillarida ishlashadi. Ularda deyarli barcha ishlar avtomatlashtirilgan va boshqalar uchun ko'plab imkoniyatlar abstraklashtirilgan. Bu narsa bizga ikki xil ta'sir qiladi, yo biz tayyor narsalarga o'rganib dangasa bo'lib qolamiz yo bunday narsalarni qanday ishlashiga qiziqib ular haqida o'rganib chiqamiz.
Misol uchun Nginx Tree (Radix tree)ni route matching va request dispatching maqsadida ishlatadi. Yokida Elasticsearch Balanced search tree (AVL tree)ni indekslash va ma'lumotlarni sortlash uchun ishlatadi. Bunday texnologiylarni juda ko'plab misollar bilan keltirish mumkin.
Algoritmlar va Data Structurelarni o'rganishdan maqsad faqat interviewdan muvaffaqiyatli o'tish emas balkim qilayotgan ishingizda siz ishlatadigan texnologiya inefficient bo'lib qolsa uning o'rniga to'g'ri va efficient yechim bera olishingiz bo'lishi ham kerak.
Siz ishlatayotgan barcha narsalarni asosi aslida shu tushunchalar va bilimlar asosida qurilganini tushunib yetishingiz shart. Hamma qurol ishlatishi mumkin ammo hamma ham qurol yasay olmaydi.
@otabekswe
Post #307
890