Փնտրում դեպի խորություն
Այս հոդվածն աղբյուրների կարիք ունի։ Դուք կարող եք բարելավել հոդվածը՝ գտնելով բերված տեղեկությունների հաստատումը վստահելի աղբյուրներում և ավելացնելով դրանց հղումները հոդվածին։ Անհիմն հղումները ենթակա են հեռացման։ |
Փնտրում դեպի խորություն | |
---|---|
Տեսակ | uninformed search algorithm? |
Դաս | graph traversal? |
Տվյալների կառուցվածք | Գրաֆ |
Օգտագործում է | գրաֆ և LIFO? |
Փնտրում դեպի խորություն Գրաֆը շրջանցելու մեթոդներից մեկը։ Ալգորիթմի ստրատեգիան, ինչպես հետևում է անվանումից՝ գնալ դեպի խորություն որքան որ հնարավոր է։ Որոնման ալգորիթմը նկարագրվում է ռեկուրսիվ՝ հերթով վերցվում է հանգույցից դուրս եկող բոլոր արմատները։ Եթե կողը տանում է դեպի չբացահայտված հանգույցը, ապա ալգորիթմը վերսկսում ենք այդ հանգույցից, հետո վերադառնում ենք և վերցնում ենք մյուս արմատները։ Վերադարձը կատարվում է այն ժամանակ, երբ դիտարկվող գագաթում չեն մնացել կողեր, որոնք տանում են դեպի չբացահայտված գագաթներ։ Եթե ալգորիթմի ավարտից հետո դեռ մնացել են չբացահայտված հանգույցներ, ապա ալգորիթմը պետք է կիրառել չբացահայտված հանգույցներից որևէ մեկից սկսած։
Խորության փնտրման ալգորիթմ
[խմբագրել | խմբագրել կոդը]Տրված է գրաֆ , որտեղ -ն գրաֆի գագաթների բազմությունն է, -ն՝ կողերի բազմությունը։ Ենթադրենք, որ սկզբում բոլոր գագաթները ներկված են սպիտակ գույնով։ Կատարենք հետևյալ քայլերը։
- Անցնենք բոլոր գագաթներով ։
- Եթե գագաթը սպիտակ է, կատարում ենք նրա համար
DFS(v)
.
- Եթե գագաթը սպիտակ է, կատարում ենք նրա համար
Ֆունկցիա DFS (պարամետր — գագաթ )
- Ներկում ենք գագաթը մոխրագույն գույնով։
- Ինչ-որ գագաթ,որը գագաթի հարևանն է և ներկված է սպիտակ գույնով, ռեկուրսիվ կատարում ենք
DFS(w)
ֆունկցիան։ - Ներկում ենք գագաթը սև գույնով։
Ոչ ռեկուրսիվ տարբերակ
[խմբագրել | խմբագրել կոդը]DFS-ի ոչ ռեկուրսիվ օգտագործման տարբերակը։
1 ֆունկցիա DFS-iterative(G,v)։ 2 S սթեք է 3 S.push(v) 4 while S դատարկ չէ 5 v = S.pop() 6 if v եթե բացահայտված չէ ԵՎ սթեքի մեջ չէ։ 7 Նշել v, որպես բացահայտված 8 for all բոլոր արմատների համար vմինչև w in G.հարևանարմատ(v) do 9 if w բացահայտված չէ ։ S.push(w)
Կիրառություն
[խմբագրել | խմբագրել կոդը]Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Փնտրում դեպի խորություն» հոդվածին։ |
|