Алгоритми за сортиране, обяснени с танци

Винаги съм се радвал на нетрадиционни методи за обясняване на нещата… но алгоритъм за сортиране с традиционен танц?! Защо не!!! Поредното доказателство, че математиците и информатиците не са задръстеняци. Поздравления за хората от Трансилванския унгарски университет Сапиентия за чудесната идея! Enjoy!

Метод на мехурчето

Обяснение с текст и дефиниции: Методът на мехурчето е метод на сортиране, при който цикълът се повтаря n² пъти, където n е броя на елементите на масива. При този метод в рамките на един цикъл се сравняват последователно всички двойки съседни елементи ai-1 и аi, и ако ai-1>ai местата им биват разменени.
Обяснение с танц:

Метод на пряката селекция

Обяснение с текст и дефиниции: Сортирането чрез пряка селекция впечатлява с простотата си, а също така в дадени ситуации има предимства пред някои сложни алгоритми.Намира се най-малкият елемент в списъка, разменя се с елемента на първа позиция и тези две стъпки се повтарят за остатъка от списъка, докато той свърши.

Реклама:

Обяснение с танц:

Реклама:

Метод на прякото вмъкване

Обяснение с текст и дефиниции:При сортирането по метода на прякото вмъкване масивът се обхожда от ляво на дясно, като се започне от втория елемент. Всеки елемент се сравнява с елементите, разположени вляво от него  (т.е. елементите с по-малки индекси) и се търси подходящото му място. Елементът се записва на това място в масива, а останалите се изместват с един индекс надясно. Този метод се използва широко от картоиграчите. Преглеждат се картите една по една. Всяка карта, която не си е на мястото се вади и се вмъква на подходящото място. Останалите карти се изместват.

Обяснение с танц:

Алгоритъм на Шел

Обяснение с текст и дефиниции: Подобрение на сортирането чрез пряко вмъкване е предложено от Д. Л. Шел през 1959 г. В този алгоритъм няколко пъти се изпълнява прякото вмъкване като се преминава през елементите с различна и намаляваща стъпка. В пример с 10 елемента всяка група съдържа точно по два елемента. След това елементите се прегрупират така, че във всяка група те да са през три позиции и се сортират отново – сортиране със стъпка 3. Най-после при третото преминаване елементите се сортират чрез обикновено сортиране или сортиране със стъпка 1.
Обяснение с танц:

Метод на бързото сортиране (Quicksort)

Обяснение с текст и дефиниции: Бързо сортиране (от английското quick sort) е добре известен сортиращ алгоритъм, разработен от Ч. А. Р. Хоор през 1960 година. Избира се „главен“ елемент от списъка с елементи, които ще бъдат сортирани. Списъкът се пренарежда така, че всички елементи, които са по-малки от „главния“ се поставят вляво от него, а всички, които са по-големи – вдясно от него. Рекурсивно се повтарят предишните стъпки върху списъка с по-малките и списъка с по-големите елементи. Получените списъци се сливат с конкатенация и се получава сортираният списък.
Обяснение с танц: Няма. И тук едно хубаво раздвижено българско хоро би свършило чудесна работа, стига да има ентусиасти да го направят (аз с танците съм много, ама много скаран). Иначе Quicksort е един от най-ефективните алгоритми, при това колкото по-разбъркан е масивът, толкова по-добре работи и си струва да бъде илюстриран с танц. Засега обаче мога да ви предложа само едно сравнение с метода на мехурчето:

И вече да не чувам оправдания от „днешната младеж“, че алгоритмите за сортиране били сложни…

Реклама:

Google като инструмент за сравняване на България със света

В предишния пост писах, че поставям началото на обществен експеримент. Ето, че разкривам и втората му половина – сравняване на българските предложения за търсене с английските (или по-скоро, тези на света). Къде си приличаме, къде се различаваме и можем ли да направим портрет на типичния българин онлайн чрез резултатите от Google? Да видим…

Избрах 15 от 25-те търсения (поради проблеми и неточности в превода на някои от тях). Според броя линкове, въвеждаме оценка за подобност от 0 до 5, където 1 означава „практически нищо общо“, а 5 – „практически едно и също“.

Също така въвеждам кратък коментар за всяка картинка:

Подобност:
Коментар: Като цяло хората по света обичат да си представят какво ли би било да си представител на флората – дърво, цвете, тревичка… Българите обаче клонят малко повече към това „какво съм“, в който могат да са велики, големи, царе, дори реки и вълшебници и обръщат много голямо внимание на родителската връзка, докато в по-голямата част от света се залага повече на „какво имам“, т.е. какво би било, ако съм богат.

Реклама:

Подобност:
Коментар: Както в българската, така и в световната лирика има много текстове, които са свързани с понятието „ако имах“ (с особено популярната навсякъде песен „Ако имах чук“). Извън това, българинът определено се насочва към вълшебния свят (машина на времето, лампата на аладин, вълшебна пръчица).

Подобност:
Коментар: Както в България, така и по света хората се интересуват от едни и същи неща, повечето от които паранормални и необясними – Бог, извънземни, живот на Марс. На второ място са притесненията за здравето, както и търсене на лек за различни болести. По-малките пък се интересуват от практични неща като има ли детски филмчета или училище. В тази категория разлика между България и света почти няма.

Подобност:
Коментар: В тази категория практически нямаме съвпадение. Българите се интересуват от алкохол (заради песента, разбира се), приятели/гаджета, дневници и сентенции, както и силиконовите бюстове. Накратко – как изглеждаш, с кого се събираш, какво правите и говорите заедно. Останалата част от света се интересува от това дали някой не е болен, дали не е нервен или с мръсно подсъзнание, както и типичният бизнес-лекторското „имате ли въпроси?“. Накратко, българите рядко ще попитат дали вие имате да ги питате нещо, как сте със здравето или нещо подобно, но пък живо ще се интересуват от това истински ли са ви циците, кой ви е гаджето и какви са тайните, които пишете в дневника си.

Подобност:
Коментар: Като махнем отчаяните до самоубийство хора, които са по целия свят, остава една голяма група хора по света, която си търси любим човек, т.е. половинката. Google е вкарал доста „шум“ от имена и текстове на песни, но като изключим това, можем да отбележим, че за българинът е важно да работи, да е добър родител, да знае много и… да се преброи (това последното го разбирам като да си изпълнява гражданските задължения).

Подобност:
Коментар: Има няколко неща, които са важни за хората по света: 1. Как да се целуват добре. 2. Как да изглеждат добре, за да стигнат до точка 1, което включва най-вече въпроса как да отслабнат. Като цяло българинът се справя доста добре с неща като това да чертае, да връзва възли или да си напише CV… или пък не му пука толкова за тези неща. За сметка на това, българите се интересуват от известността си онлайн (как да си направя сайт), от това да знаят всичко, както и да се… преброят (вече коментирах).

Реклама:

Подобност:
Коментар: Три неща се питат всички хора по света, включително и българите – защо трябва да опазваме природата; защо трябва да сме образовани; защо трябва да запазим националната си култура и самосъзнание… Много по-назад в списъка на българина се появяват въпроси, свързани с употребата на алкохол и здравословното хранене.

Подобност:
Коментар: Общочовешки фактор е да се интересуваш от това дали си нормален, колко често трябва да ходиш до тоалетна и т. н. Малката разлика тук отново е, че българинът отново поставя това през призмата на родител. И докато в България хората се интересуват по-скоро от научнопопулярни факти, по света се интересуват от известни личности, техните взаимоотношения и собствената си известност.

Подобност:
Коментар: В тази категория нищо общо между българинът и останалия свят. Обсебени от родителски и домакински грижи, българите оставят на заден план световните новини, Fаcebook и забавления… поне един извод може да се направи от горната картинка – българите готвят повече от хората по света онлайн.

Подобност:
Коментар: Общочовешка е нуждата да знаеш колко скъп е автомобилът ти. Българинът се интересува повече от цената на здравни и обществени услуги (аборт, сватба, почистване на зъбен камък, вадене на зъб). За повечето хора по света това не е чак такъв проблем, те се интересуват от цената на редки монети и банкноти, големи компании и дори известни личности.

Подобност:
Коментар: Както по света, така и у нас най-важни за хората са спортните постижения. По света се интересуват от броя контакти в социалните мрежи, кой може да следи хората, страхуват се от война и данъци… В България се интересуваме от Тузара, Дядо Коледа, Крали Марко и кой е по-по-най.

Подобност:
Коментар: Вярвате или не, общата ни тема със света са най-добрите филми. Хората по света са доста по-комерсиализирани, търсят изгодни покупки и се интересуват много повече от свръхмодерни смартфони. В България песните, вицовете и компютърните игри определено се тачат повече. И отново се търси „най-добрата майка“ – за съжаление, няма как да се каже от кого.

Подобност:
Коментар: По отношение на нещата, които не можем, доста си приличаме с хората по света. Най-трудно на всички човешки същества е да се справят със своите чувства, страстта, либидото и сложните човешки взаимоотношения. Една голяма част от хората както в България, така и по света имат проблеми с безсънието.

Подобност:
Коментар: Хората в България търсят три неща: добра работа, добри приятели и половинката си. На световно ниво имаме „шум“ от филми и песни, но като че ли българинът е с един нюанс по-малко авантюрист от средностатистическия световен потребител.

Подобност:
Коментар: „Защо?“ е обвиняващ въпрос… И както в България, така и по света две неща мъчат хората – компютърните проблеми и здравето. Лошото е, че в България здравето на хората е по-голям проблем и въпросите за него са повече, отколкото по света. Колкото до компютрите, нашите се изключват и рестартират; по света са просто бавни.

Заключение

Пълна глупост е да заключаваш за характера на българина по търсенията му в нещо постоянно променящо се. Толкова тъпо, колкото да направиш 15 снимки на централна гара София и на летище Хийтроу, след което да започнеш: българите носят повече червено и са по-дебело облечени – пълна глупост!

Обичам глупостите… Да, няма да стана научен сътрудник по социология в БАН, нито пък шеф на PR отдел, но пък мисля, че успях да направя един различен портрет на българите (или по-скоро тези, които са онлайн):

Обобщено, бих написал следното – вие кажете доколко сте съгласни:

Българите са част от света. Като всички хора, те се интересуват от куп теми: песни, филми, спорт, компютри, автомобили и паранормални явления. Много от тях търсят любим човек, искат да изглеждат добре, милеят за природата и искат да запазят националната си култура, една част не могат да заспят лесно, а друга директно мислят за самоубийство – но всичко това е точно както и при повечето хора по света. Какво ни различава?

За типичния българин онлайн, въпросът „кой съм аз“ е по-важен от „какво имам“, поне в сравнение с останалите хора в Интернет. Обича компании, песни, вицове и компютърни игри и е с поне няколко години по-назад в техническо отношение в сравнение с тях. Може би защото няма пари и си мечтае за смартфон. Притеснява се дали ще може да си плати сватбата или абортът ще излезе по-евтино. Чуди се дали да плати за почистване на зъбен камък сега или няма да е по-изгодно, ако просто си извади зъба след някоя друга година. За българина проблеми като цунамито в Япония е новина номер шест, след това колко се е напил Гошо снощи, кое е новото гадже на Цецка, какво пише в дневника на Пешо, Глория има ли силиконови цици и „кой е по-по-най“ в едноименното шоу на бате Енчо. В същото време, за българина приятелите, семейството и особено децата му са много по-важни в сравнение с останалата част от света, която е ориентирана към кариерата си, изкарването на пари, комерсиализирана и насочена към това как да се купи нещо възможно най-изгодно. Българинът си знае, че богат тук не се става с много труд и не очаква да впечатли някого с материално положение. Много по-важно е в очите на другите той да бъде добра компания, любящ партньор, добър родител, образован, красив, компетентен по всякакви въпроси и примерен за обществото гражданин.

Реклама:

България пита, Google отговаря (или обратното)

Започвам поредния си социален експеримент: 25 популярни фрази, които дават начало на търсене в Google (и съответните предложения от търсачката)… Порадвайте им се, ще има и продължение.

Преди да ги видите обаче, помислете над следните въпроси:

1. Може ли да се съди за манталитета на българина по най-популярните фрази за търсене?

2. Може ли да се разбере какво интересува българите най-много?

3. Колко от запитванията в Google сте (или бихте) направили вие самите?

Втората част на експеримента – тук!

Реклама: