Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スターリンマージソート
Search
suzakutakumi
July 10, 2021
Programming
650
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スターリンマージソート
Zliの大LTで発表したスライドです
suzakutakumi
July 10, 2021
More Decks by suzakutakumi
See All by suzakutakumi
ピクロス作成の中間発表
suzakutakumi
0
110
しゅみろん
suzakutakumi
0
200
trap-search
suzakutakumi
1
66
Pyramid Makerの作成
suzakutakumi
0
60
マークダウンパーサーの自作
suzakutakumi
0
130
絵文字ジェネレータボットの作成
suzakutakumi
0
170
send_discord
suzakutakumi
0
74
独自ドメインについて
suzakutakumi
0
67
ESP32とAlexaを用いたエアコン制御
suzakutakumi
0
1.4k
Other Decks in Programming
See All in Programming
Rでドレミ/Do-Re-Mi_with_R
florets1
0
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
350
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
230
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
450
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
130
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
Designing Experiences People Love
moore
143
24k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
RailsConf 2023
tenderlove
30
1.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Prompt Engineering for Job Search
mfonobong
0
490
Transcript
スターリンマージソート 2021/07/10 Zli 大LT
自己紹介 HN:朱雀 匠(本名:鈴木 拓眞) Twitter: @suzakutakumi3
None
None
目的 スターリンソートから新しいソートアルゴリズムを考えました 実用性はない気がします また、世界のどこかに同じアルゴリズムがあると思うのでn番煎じです
スターリンソートとは ソートするのに邪魔な要素を粛清して、昇順・降順に並び替えるアルゴリズムです Pythonでの例: a=[1, 3, 2, -2,10,5,11] print(StalinSort(a)) 出力:[1, 3,
10, 11]
スターリンソートは実用的なアルゴリズムじゃない そこで、実用的なソートアルゴリズムにしよう!
スターリンマージソート スターリンマージソートは、スターリンソートとマージソートを元に考えました 最初にスターリンソートを繰り返し、並び替えられた配列を複数作ります その後、マージソートと同じ原理でマージしていきます 詳しくは次のページで
手順1:並び替えられた配列の生成 例:[0, 114, 13, 600, -282, 114] 1.スターリンソートをして、結果と除外された値の配列を作る 整列された配列:[0, 114,
600] 除外された配列:[13, -282, 114] 2.除外された配列で1と同様のことをする 整列された配列:[13, 114] 除外された配列:[-282] これで、整列された3つの配列が用意できました [ [0,114,600], [13, 114], [-282] ]
手順2:並び替えられた配列をマージする [ [0,114,600], [13, 114], [-282] ] 1.[0,114,600]と[13, 114]をマージします [
[0,13,114,114,600], [-282] ] 2.[0,13,114,114,600]と[-282]をマージします [-282,0,13,114,114,600]
計算量について 最悪計算量はO(n^2)です [n,n-1,n-2,・・・,3,2,1]の場合、最悪計算量になります 平均計算量はよくわかっていません マージ部分の処理数は、 分割された配列の数mとソートする配列の長さnとすると O(nlogm) になります
実際に時間を計測してみた [0,1,2,3,4,5,6,7,8,9]を10!通り並び替え実行し、実行し終えるまでの時間を測定しました マージソートが他のバブルソートなどよりも遅く、しっかりと計測できていなさそう
まとめ 平均処理数がわからないが、処理時間を見て遅いことが予想される アルゴリズムを考えてみて、先駆者たちの考えたアルゴリズムがすごかったこ とが再認識できた