Download presentation
Presentation is loading. Please wait.
1
Կարգավորում Insertion Sort, Merge Sort
Ալգորիթմներ Կարգավորում Insertion Sort, Merge Sort
2
Կարգավորում Որոշ կիրառություններ
Հեռախոսի կոնտակտների ցուցակ դասավորված այբենական կարգով Երգերի ցուցակ դասավորված երգերի անուններով Գտնել հաջորդականության մեջտեղի(որից մեծ և փոքր էլեմենտների տարբերվում է ամենածատը 1 ով) էլեմենտը (Find median).
3
Կարգավորում տեղադրումով (Insertion Sort)
Ալգորիթմ Դիցուք ունենք A – հաջորդականությունը։ Ավելացնել A[ i ] – րդ էլեմենտը արդեն կարգավորված A[ 0 ⋯ (i-1) ] հաջորդականության մեջ՝ օգտագործելով համեմատություն և տեղ փոխելու գործողությունները բոլոր i = 1,2, ⋯ ,n համար։
4
Բարդություն։ T(n) = Θ (𝑛 2 )
Վերցնելով i-րդ էլեմենտը ամեն անգամ - անցնում ենք n-1 էլեմենտների վրայով; Կատարելով Θ(𝑛) քայլ։ Ամեն քայլի ժամանակ էլ վատագույն դեպքում կատարում ենք Θ(𝑛) գործողություն։ T(n) = Θ (𝑛 2 ) Ուշադրություն։ Մեծ n–երի դեպքում Θ(𝒏) ≈ Θ(𝒏−𝟏)
5
2 մատի ալգորիթմ (2 finger algorithm )
Խնդիր։ Ունենք A և B կարգավորված հաջորդականություններ համապատասղանաբար x և y չափանի։ Անհրաժեշտ է կառուցել C կարգավորված հաջորդականություն՝ 𝑥+𝑦 : չափանի։ Նշանակենք 𝑥+𝑦=𝑛 : Oրինակ ՝
6
Բարդություն T(x,y) = Θ 𝑥+𝑦 =Θ 𝑛
7
Merge Sort Կիսել հաջորդականությունը 2 մասի ՝ աջ և ձախ։ Նույն գործողությունը կատարել ստացված 2 զանգվածների համար։ Կիսել այքան ժամանակ մինչև ամեն զանգվածում մնա 1 թիվ։ Այնուհետև օգտագործելով 2 մատի ալգորիթմը միացնել դասավորված զանգվածները։
8
Օրինակ
9
Բարդություն։ T(n) = Θ(n∗log 2 𝑛 )
Հաջորդականությունը 2 մասի բաժանելը կատարվում է հաստատուն ժամանակում այդ իսկ պատճառով ալգորիթմի բարդության վրա ազդեցություն կթողնի միայն հետ հավաքելու պրոցեսը։ Ամեն շերտում ունենք ամենաշատը n - հատ թիվ։ Օգտվելով 2 մատի ալգորիթմից կստանանք որ ամեն շերում կատարվում է Θ n գործողություն։ Հեշտ է համոզվել, որ շերտերի քանակը log 2 𝑛 +1 Է։ Սրանից էլ հետևում է ալգորիթմի բարդությունը՝ T(n) = Θ(𝐧∗𝒍𝒐𝒈 𝟐 𝒏 )
10
https://ipc.am/en/course/?l=algorithms
Շնորհակալություն 5jb5L2iHb&index=1 to-algorithms-fall-2011/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.