Selection sort algoritm
Selection search algoritmi -> arrayni 0-elementidan boshlab oxirgi elementiga qarab eng kichik yoki eng katta sonni qidirish va indexini almashtirish orqali tartiblaydi.Masalan 1 elementni oladi va qolgan elementlar ichidan eng kichik bo'lgan sonni qidiradi va indexini o'zgartiradi.Misol uchun: [5,19,33,43,19,34,1,43] array bo'lsa 5 ni oladi va barcha elementlar ichidan eng kichigini qidiradi va bu arrayda eng kichigi 1 bo'lgani uchun elementlar o'rni almashtiriladi => [1,19,33,43,19,34,5,43].Keyin pointer 1 indexdagi elementga o'tkaziladi va yana 1 indexdagi elementdan keyingi barcha elementlar ichidan eng kichigini qaytadi va natija: [1,5,33,43,19,34,19,43].Bu algoritmning ishlash tezligi BO(n^2) ga teng hisoblanadi.
Bu sortlash algoritmiga misol tariqasida Leetcode dagi 912 sonli masalani ko'ramiz.
Bu masala bizning yechim uchun mos emas chunki bizning Selection sort algoritmi BO(n^2) ishlatadi bizdan esa BO(nlog(n)) kutilgan lekin selection sort uchun masala topolmaganim uchun shu masala ustida ishlaymiz.
var sortArray = function(nums){ for(let i = 0;i < nums.length - 1; i++){ let minNum = i for(let j = i +1; j < nums.length;j++){ if(nums[j] < nums[minNum]){ minNum = j } } if(minNum != i){ let temp = nums[i] nums[i] = nums[minNum] nums[minNum] = temp } } return nums }