Page 72 - Программирование. Python. Для школьников. bizdin.kg
P. 72

72              PYTHON ПРОГРАММАЛОО ТИЛИ                                                                                                    ТИЗМЕЛЕРДИ СОРТТОО




            Бул методдун маңызын түшүнүш үчүн мисал карайлы. Бизге төмөндөгүдөй
            массив берилсин:
                    78         6         82        67        55        44        34

                                                    X
            Х деп массивдин ортоңку элементин карайлы, б.а. 67. Массивдин сол жа-
            гындагы Хтен чоң же ага барабар элементти табабыз. Бул элемент 78 саны.
            Бул элементтин индексин L менен белгилейли. Эми Хтен оң жакта турган
            эң кичине элементти табалы. Бул 34 саны. Анын индексин R тамгасы менен
            белгилейбиз.

                    78         6         82        67        55        44        34

                     L                                                            R
            Эми ушул эки элементтин ордун алмаштырабыз. L өзгөрмөсүн оңго, ал эми
            R өзгөрмөсүн солго жылдыруу менен биз ордун алмаштыра турган кийин-
            ки түгөйдү табабыз. Булар 82 жана 44 сандары.

                    34         6         82        67        55        44        78

                                         L                              R
            Орундары алмаша турган кийинки түгөйлөр – 67 жана 55 сандары.

                    34         6         44        67        55        82        78

                                                    L        R

            Бул орун алмашуудан кийин, андан аркы издөө L өзгөрмөсү R өзгөр-
            мөсүнөн чоң болуп калгандыгына алып келет, б.а. массив экиге бөлүнүп
            калды. Жыйынтыгында A[L] дин сол жагында жайгашкан массивдин бар-
            дык элементтери Х тен кичине же барабар, ал эми A[R]дин оң жагында
            жайгашкан бардык элементтер Х тен чоң же барабар.
                                                    L        R
                    34         6         44        55        67        82        78

                                                   R          L

            Ошентип, баштапкы массивди сорттоо, массивдин эки бөлүгүн сорттоого,
            б.а. ошол эле типтеги эки маселени (бирок кичинекей өлчөмдөгү) чечүүгө
            алып келди. Эми ушул алгоритмди массивдин алынган эки бөлүгүнө колдо-
            нуу керек: биринчи бөлүгү – 1ден Rге чейинки элементтер, экинчи бөлүгү
            - Lден акыркы элементке чейин.





                                                                       www.trk.kg
   67   68   69   70   71   72   73   74   75   76   77