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

ТИЗМЕЛЕРДИ СОРТТОО                            69



            16-тема:

               Тизмелерди сорттоо


            Көпчүлүк учурда керектүү маалыматты издөөнү жеңилдетүү үчүн биз
            сорттоону колдонобуз. Мисалы, сөздүктө алфавит боюнча сөздөрдү сорт-
            тоо издөөнү жеңилдетет.

            Программалоодо сорттоо – бул массивдин элементтерин берилген иретте
            жайгаштыруу болуп саналат.

            Сорттоо ирети ар кандай болушу мүмкүн: сандар үчүн адатта мааниле-
            ринин өсүү (кемүү) тартибинде сорттоо каралат. Мисалы, [3 1 0 5 2 7]
            бир өлчөмдүү массивин өсүү тартибинде сорттоодо [0 1 2 3 5 7] массиви
            алынат. Символдук берилиштер адатта алфавиттик тартипте сорттолушат.

            Негизи сорттоонун көптөгөн ыкмалары ойлоп табылган. Жалпысынан алар-
            ды эки топко бөлүп караса болот: 1) жөнөкөй, бирок өтө жай иштөөчү (чоң
            массивдер үчүн), 2) татаал, бирок тез иштөөчү.

            Сорттоонун эң эле көрсөтмөлүү методдорунун бири болгон – «көбүкчө
            методун» карайлы.
            Көбүкчө методу (алмаштыруу менен сорттоо)

            Бул методдун аты белгилүү физикалык кубулуштан алынган: суудагы аба
            көбүкчөсү өйдө көтөрүлөт. Массивди бул ыкма менен сорттоо үчүн, мас-
            сивден солдон оңду көздөй коңшу элементтерди экиден салыштырып
            өтүү керек. Качан сол жактагы элемент оң жактагысынан чоң болуп калса,
            анда алардын ордун алмаштыруу керек. Ошентип 1-өтүштөн кийин эң
            чоң элемент тизменин акырына келип калат. Эми тизмени кайрадан иргеп
            чыгуу керек. 2-өтүштө эң чоң элемент тизменин аягында тургандыктан аны
            салыштырбайбыз. Б.а. салыштыруулардын саны 1ге азаят. Демек, циклдеги
            өтүштөрүнүн саны тизменин элементтеринин санынан 1ге аз болот.



                               4         4          4         4          1
                               5         5          5         1          4

                               2         2          1         5          5
                               1         1          2         2          2
                               3         3          3         3          3






                                                                       www.trk.kg
   64   65   66   67   68   69   70   71   72   73   74