Aralashtirish algoritmi. Array’ni aralashtirish (shuffle)
Agar siz men kabi PHP tarafdan kelgan bo’lsangiz, array’ni shuffle() funksiyasi bilan aralashtirib, uning effektivligi yoki qanday ishlashi haqida bosh qotirib o’tirmagan bo’lsangiz kerak.
Dasturchi, frilanser, gik va introvert
Giant tech korporatsiyalardan biriga ishga kirish uchun tayyorgarlik jarayonida o’rganganlarim – algoritmlar, ma’lumot tuzilmalari haqida maqolalar
Agar siz men kabi PHP tarafdan kelgan bo’lsangiz, array’ni shuffle() funksiyasi bilan aralashtirib, uning effektivligi yoki qanday ishlashi haqida bosh qotirib o’tirmagan bo’lsangiz kerak.
Mergesort tartiblash jarayonida ro’yhatni (array’ni) ikkiga bo’ladi, ikki tarafini yana ikkiga bo’ladi, ikki tarafini yana ikkiga bo’ladi, … ikki tarafda bittadan son qolguncha bo’lishda davom etadi. Keyin ularni tartiblashni boshlaydi.
Divide and Conquer (bundan keyin D&C) texnikasi juda ko’p algoritmlar ishlatadigan dizayn patterni bo’lib, uning asosida bitta katta masalani kichik-kichik osonroq masalalarga bo’lish va ularni alohida-alohida yechishni ko’zda tutadi.
Geometriyada Convex hull – barcha nuqtalarni (yoki obyektlarni) o’z ichiga olgan yuza perimetri yoki barcha tashqi nuqtalar ro’yhati.
Shellsort aslida insertion sort’ning o’zgargan shakli. U dastlab ro’yhatni (array) birnecha kichik bo’laklarini (sublist), so’ngra ularni alohida holda insertion sort metodida tartiblaydi.
Selection sort – iteratsiya ichida array elementlarini ko’rib chiqib, eng kichkinasini topish va uni arrayning tartiblangan qismiga qo’shishdan iborat.
Eng oson va oddiy tartiblash algoritmlaridan biri – Insertion sort. U array elementlarini solishtirib, elementlarning o’rnini almashtirish hisobiga tartiblaydi.
Dinamik bog’lanishga ega sodda ma’lumot tuzilmasiga Disjoint-set (yoki union-find) ni misol qilib keltirish mumkin.
Avvalgi maqolada Stack haqida ma’lumot berib, uning qo’llanishiga misollar keltirgan edik. Nederland matematigi Edger Daykstra (Edsger Dijkstra) arifmetik ifodani hisoblash uchun ikki stack algoritmini (Dijkstra’s two stack algorithm) taklif qilgan.
Ma’lumotlar tuzilmasi — bu ma’lumotlarni samarali o’qish va o’zgartirish imkonini beruvchi, ma’lumotlarni saqlash va boshqarishning bir formatga solingan shaklidir.