Համակարգիչներ, Ծրագրավորում
Դասավորում ալգորիթմներ, քանի որ նրանք են
Տեսակավորման է պայմանավորվածություն օբյեկտների որոշակի կարգով, օրինակ, Աճման կամ նվազման կարգի. Ընդհանուր առմամբ, պատվիրումը տարրերի - ամենատարածված տվյալների մանիպուլյացիա է հեշտացնել հետագա որոնումը անհրաժեշտ տեղեկատվության. Դա հիմնականում վերաբերում է տարբեր տվյալների բազայի կառավարման համակարգերի. Տեսակավորման ալգորիթմների գոյություն ունեն մեծ թվով այս պահին, չնայած որ նրանք ունեն նմանատիպ հատկանիշներ (փուլերը): համեմատում եւ permutation տարրերի զույգերով, քանի դեռ հաջորդականությունը չի պատվիրել:
Տեսակավորման ալգորիթմների կարելի է դասակարգել ներքին եւ արտաքին: Նախկին բնութագրվում է նրանով, որ բոլոր տարրերը, որոնք պետք է դասավորված են տեղադրված է հիշողության եւ կարող են ստանալ պատահական մուտք գործել ցանկացած նրանցից: Վերջինս կարող է աշխատել տվյալների հետ տեղադրված արտաքին հիշողության մեջ (ֆայլ): Մատչելիությունը այնպիսի տարրեր, կարող են իրականացվել հերթականությամբ:
Նախընտրելի տեսակ իրեր, երբ նրանք գտնվում են կառուցվածքում մեկ եռաչափ զանգված. Յուրաքանչյուր նման կետ ունի մի սերիան եւ համարը, հասցեն եւ դեպի զանգված տարր տեղի է ունենում ցուցանիշից: տեսակավորման ալգորիթմների այս դեպքում առավել պարզ եւ շիտակ է օգտագործել.
Հաշվի առնել, որ ներքին տեսակավորման ալգորիթմը նվազման պղպջակների եղանակը եւ դրա բարելավված տարբերակը, այլ ժամանակի օգտագործման համար դասավորում: Դասավորել ըստ պղպջակների իրականում ունի շատ անուններ: Այն կոչվում է նաեւ գծային տեսակավորման մեթոդը կամ փոխանակման դասավորում տարբերակը: Բայց, այնուամենայնիվ, դա ոչ թե վերնագրում: Թե ինչու է պղպջակների. Երբ է ջրի մեջ, ապա օդի պղպջակների կլինի փոփ մինչեւ, քանի որ դա ավելի հեշտ է. Օրինակ, եթե դուք տեսակավորելու են աճման վերեւում կլիներ առնվազն տարրերից.
Դիտարկենք մի առաջին մարմնավորում տեսակավորումը ալգորիթմ պղպջակների կողմից զանգված: Բայական ալգորիթմ զանգված դասավորում, ունենալով mas իդենտիֆիակտոր եւ որը բաղկացած է N տարրերով, հետեւյալն են.
1. Հագեք գտնվելու վայրը առաջին տարրի (մաս [1]) խոշորագույն զանգվածի էլեմենտ: Որպեսզի դա անել, մենք կհամեմատենք ստացվում է բոլոր մնացած տարրերը (մաս [2], մաս [3] ... mas [N]): Եթե կարծում եք, որ որեւէ այլ տարրերի ավելի մեծ է, քան mas [1], դա պահանջվում է swap նրանց (միջոցով լրացուցիչ փոփոխական buf):
2. հանելով նկատառում mas տարր [1] եւ կրկնել քայլ 1-ից mas տարր [2]:
3. Այդ գործողությունը կրկնվում է բոլոր տարրերի նկատմամբ, բացառությամբ վերջին:
Իրականացումը ալգորիթմը պղպջակայինում Պասկալ ծրագրավորման
Երկրորդ տարբերակը (զարգացած մեթոդը պղպջակների) դուք կարող եք ասել, որ այս ալգորիթմի quicksort. Այսպիսով, եթե դուք փորձեք օգտագործել այն տեսակավորելու զանգվածը արդեն տեսակավորված, ալգորիթմը ավարտում է իր աշխատանքը հետո առաջին անցնում զանգվածի տարրերի. Սա նշանակում է, որ մենք չենք վատնել համակարգի ռեսուրսները եւ հաշվողական ժամանակը անիմաստ համեմատության տարրերի.
Այստեղ է իրականացումը դասավորում ալգորիթմը համար Պասկալ ծրագրավորման լեզու:
Այնպես որ, տեսակավորման ալգորիթմների միջոց են կազմակերպելու տվյալների sequences. Երբ ընտրելով կոնկրետ ալգորիթմ պետք է հաշվի առնել, ծախսերը ժամկետային եւ համակարգի ռեսուրսները.
Similar articles
Trending Now