Skip to content

Lisa-creates/LSD-sort

Repository files navigation

LSD-sort

ИдСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

LSD сортировка - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ поразрядной сортировки. На Π²Ρ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поступаСт мноТСство элСмСнтов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ порядка. ΠŸΡ€ΠΈ lsd сортировки двигаСмся ΠΎΡ‚ младшСго разряда ΠΊ ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌΡƒ, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ Π² разрядС. Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ подсчСт. Π—Π°Ρ‚Π΅ΠΌ элСмСнты Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΈ распрСдСлСнии.

Анализ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ Анализ слоТности Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° LSD-сортировки(n).docx

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° зависит ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ устойчивого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠŸΡƒΡΡ‚ΡŒ массив состоит ΠΈΠ· n чисСл, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΈΠ· d разрядов, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ значСния ΠΎΡ‚ 0 Π΄ΠΎ k-1. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… k ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ являСтся сортировка подсчётом. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ O(n+k) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ разряда, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… d, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортируСт массив Π·Π° врСмя O(d(n+k)).

РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

РСализация прСдставлСна Π² Ρ„Π°ΠΉΠ»Π΅ lsd-sort.cpp

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

На Π²Ρ…ΠΎΠ΄ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° подаётся массив, состоящий ΠΈΠ· n элСмСнтов. Π Π°Π·ΠΌΠ΅Ρ€ массива Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 50 Π΄ΠΎ 400. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива ΠΈΠΌΠ΅Π΅Ρ‚ 3 разряда.

Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния трудоёмкости

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСрСния трудоёмкости.

Бпособ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная функция C++ - rand(). Для Ρ€Π°Π·Π½Ρ‹Ρ… n гСнСрируСтся Π½ΠΎΠ²Ρ‹ΠΉ массив Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 10 Π΄ΠΎ 500 с шагом 20.**

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages