Algoritmlar nazariyasining boshlang’ich tushunchalari
Download 421.45 Kb.
|
Savollarga javoblar
Algoritmlar nazariyasining boshlang’ich tushunchalari. Алгоритм сўзи ва тушунчаси IХ асрда яшаб ижод этган буюк бобокалонимиз Муҳаммад ал-Хоразмий номи билан узвий боғлиқ бўлиб, унинг арифметикага бағишланган «Ал-жабр ва ал-муқобала» номли асарининг дастлабки сахифасидаги «Dixit Algoritmic» («Дедики Ал Хоразмий»нинг лотинча ифодаси) деган жумлалардан келиб чиққан. Ал-Хоразмий биринчи бўлиб ўнлик саноқ тизимининг принципларини ва унда турли амаллар бажариш қоидаларини асослаб берди. Бу эса ҳисоблаш ишларини ихчамлаштириш ва осонлаштириш имконини яратади. Чунки бу билан ўша даврда қўлланиб келинган рим рақамлари ва сонларни сўз орқали ёзиб бажаришдаги ноқулайликлар бартараф этилди. Ал-Хоразмийнинг илмий асарлари фанга алгоритм тушунчасининг киритилишига сабаб бўлди. Нима учун алгоритмларни ўрганиш керак? Ҳақиқий компьютер профессионали учун иккита сабаблар мавжуд: амалий ва назарий. Амалий нуқтаи назардан у турли ҳисоблаш техникаси соҳаларига тегишли асосий алгоритмлар стандарт тўплами ҳақида тушунчага эга бўлиш керак. Бундан ташқари, у янги алгоритмларни ишлаб чиқиш ва уларнинг самарадорликларини таҳлил қилишни билиши керак. Алгоритмика (algorithmics) дейиладиган алгоритмларни ўрганиш жараёни назарий нуқтаи назардан информатиканнинг (computerscience) пойдевори ҳисобланади. Дэвид Харел (David Harel) ўзининг эҳтиётлик билан сарлавҳа қўйилган ажойиб Algorithmics: the Spirit of Computing китобида қуйидагиларни ёзади: Алгоритмика - бу нафақат информатиканинг бўлими, балки ундан кўпроқ нарса ҳисобланади. У информатиканинг асоси ҳисобланади ва қўлни кўксига қўйиб айтиш мумкинки, у замонавий фанга, техникага ва бизнесга сезиларли таъсир кўрсатди. Massivlarni pufakchali usulda tartiblash algoritmi. Bubble sort ikki qoʻshni elementni solishtirish va ular moʻljallangan tartibda boʻlmaguncha, ularni almashtiradigan tartiblash algoritmidir. Xuddi suv yuzasiga koʻtarilgan havo pufakchalarining harakati kabi, massivning har bir elementi har bir iteratsiyada oxirigacha harakat qiladi. Shuning uchun u pufakchali saralash deb ataladi. BubbleSort „Bubble sort“ bu eng sodda, ketma-ketlikdagi har bir sonni boshqa sonlar bilan solishtirishga asoslangan algoritm hisoblanadi. Unda yonma-yon turgan elementlardan chapdagisi o‘ngdagidan kattaligi aniqlansa, bu ikkala son oʻrni almashtiriladi. Bu jarayon almashtirish kerak boʻlmay qolguncha davom etadi, yaʼni barcha elementlar o‘sish tartibida bo‘lib qolguncha. „Bubble sort“ nisbatan koʻp vaqt talab qiluvchi saralash algoritmi hisoblanadi. Chunki unda n ta element uchun takrorlanishlar soni taqriban n*n ga teng. Bu, n kichik son boʻlsa unchalik sezilmaydi. Sababi, hozirgi zamonaviy kompyuterlar uchun bu takrorlanish soni qiyinchilik tugʻdirmaydi. Ammo butun boshli maʼlumotlar bazasidagi maʼlumotlarni saralash talab etilsachi? Albatta vaqtdan yutqazamiz. Ammo, bu algoritm saralash algoritmlarini tushunib olish uchun ilk qadam hisoblanadi. Bubble-sort Bosqichma-bosqich misol[tahrir | manbasini tahrirlash] „5 1 4 2 8“ raqamlari massivini oling va pufakchali tartiblash yordamida massivni eng kichik sondan eng katta raqamga tartiblang. Har bir bosqichda qalin harf bilan yozilgan elementlar taqqoslanadi. Uchta oʻtish kerak boʻladi; Download 421.45 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling