SlideShare a Scribd company logo
1 of 18
여러가지 Sort와 구현에 따른 차이
Normally
• 시간복잡도를 이용해 해당 알고리즘의 성능 판단
Implement of Sort
• Sort function (init Function)
• Bubble Sort
• QuickSort
Bubble Sort
Quick Sort
퀵 정렬 (Quick Sort)
퀵 정렬 (Quick Sort)
퀵 정렬 (Quick Sort)
Naturally
• Bubble Sort: O(𝑛2)
• QuickSort: O(𝑛 log(𝑛))
Result
What’s wrong in my code?
Implement of Partial Sort
The other Implements of Partial Sort
핵심
• 지정된 범위를 기준점을 중심으로 좌우 분리
• 순서는 무관
• 좌측, 우측부분을 별도의 리스트에 저장한 뒤
• 원 리스트로 복사
The other Implements of Partial Sort
Result
Conclusion
• 같은 알고리즘이라도 내부 구현에 따라 실제 구동
시간이 다를 수 있음
• 가장 빠른 알고리즘은 내장함수
• 의외로 리스트에서 값을 제거하는 비용이 크다
Reference
• Image on Google
• 쉽게 배우는 알고리즘
TODO
• 지금은 길이가 10,000개 리스트를 정렬
• 길이가 100,000,000인 경우 엄청난 시간 소요
• 문제점: Python은 기본적으로 Single Thread
 병렬화!

More Related Content

What's hot

PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보Young Hoo Kim
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기Sang Heon Lee
 
android_thread
android_threadandroid_thread
android_threadhandfoot
 
Real-time Video Analysis System
Real-time Video Analysis SystemReal-time Video Analysis System
Real-time Video Analysis SystemTaewoo Kim
 
[하코사 세미나] 비전공자의 자바스크립트 도전기
[하코사 세미나] 비전공자의 자바스크립트 도전기 [하코사 세미나] 비전공자의 자바스크립트 도전기
[하코사 세미나] 비전공자의 자바스크립트 도전기 인권 김
 
알고리즘 시각화 라이브러리 ipytracer 개발기
알고리즘 시각화 라이브러리 ipytracer 개발기알고리즘 시각화 라이브러리 ipytracer 개발기
알고리즘 시각화 라이브러리 ipytracer 개발기Han Lee
 
Yolo v3 urop 발표자료
Yolo v3 urop 발표자료Yolo v3 urop 발표자료
Yolo v3 urop 발표자료DaeHeeKim31
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의Kwangyoun Jung
 
병렬 프로그래밍2
병렬 프로그래밍2병렬 프로그래밍2
병렬 프로그래밍2준혁 이
 

What's hot (13)

PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기
 
android_thread
android_threadandroid_thread
android_thread
 
Real-time Video Analysis System
Real-time Video Analysis SystemReal-time Video Analysis System
Real-time Video Analysis System
 
[하코사 세미나] 비전공자의 자바스크립트 도전기
[하코사 세미나] 비전공자의 자바스크립트 도전기 [하코사 세미나] 비전공자의 자바스크립트 도전기
[하코사 세미나] 비전공자의 자바스크립트 도전기
 
알고리즘 시각화 라이브러리 ipytracer 개발기
알고리즘 시각화 라이브러리 ipytracer 개발기알고리즘 시각화 라이브러리 ipytracer 개발기
알고리즘 시각화 라이브러리 ipytracer 개발기
 
D2 Job Pool
D2 Job PoolD2 Job Pool
D2 Job Pool
 
Yolo v3 urop 발표자료
Yolo v3 urop 발표자료Yolo v3 urop 발표자료
Yolo v3 urop 발표자료
 
09 1 날짜와시간모듈
09 1 날짜와시간모듈09 1 날짜와시간모듈
09 1 날짜와시간모듈
 
1. alps c&c++
1. alps c&c++1. alps c&c++
1. alps c&c++
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의
 
병렬 프로그래밍2
병렬 프로그래밍2병렬 프로그래밍2
병렬 프로그래밍2
 
Lock free queue
Lock free queueLock free queue
Lock free queue
 

More from Seong Heum Park

CSGG: Database Team Project
CSGG: Database Team ProjectCSGG: Database Team Project
CSGG: Database Team ProjectSeong Heum Park
 
매일 프로그래밍 발표자료 0516
매일 프로그래밍 발표자료 0516매일 프로그래밍 발표자료 0516
매일 프로그래밍 발표자료 0516Seong Heum Park
 
매일 프로그래밍 발표자료 0509
매일 프로그래밍 발표자료 0509매일 프로그래밍 발표자료 0509
매일 프로그래밍 발표자료 0509Seong Heum Park
 
Server.attack.case.analyze
Server.attack.case.analyzeServer.attack.case.analyze
Server.attack.case.analyzeSeong Heum Park
 
GNU_Map 최종발표 자료
GNU_Map 최종발표 자료GNU_Map 최종발표 자료
GNU_Map 최종발표 자료Seong Heum Park
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표Seong Heum Park
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표Seong Heum Park
 

More from Seong Heum Park (10)

CSGG: Database Team Project
CSGG: Database Team ProjectCSGG: Database Team Project
CSGG: Database Team Project
 
About Uwsgi
About UwsgiAbout Uwsgi
About Uwsgi
 
About Django
About DjangoAbout Django
About Django
 
매일 프로그래밍 발표자료 0516
매일 프로그래밍 발표자료 0516매일 프로그래밍 발표자료 0516
매일 프로그래밍 발표자료 0516
 
매일 프로그래밍 발표자료 0509
매일 프로그래밍 발표자료 0509매일 프로그래밍 발표자료 0509
매일 프로그래밍 발표자료 0509
 
Server.attack.case.analyze
Server.attack.case.analyzeServer.attack.case.analyze
Server.attack.case.analyze
 
About CTF
About CTFAbout CTF
About CTF
 
GNU_Map 최종발표 자료
GNU_Map 최종발표 자료GNU_Map 최종발표 자료
GNU_Map 최종발표 자료
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표
 
웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표웹프로그래밍 팀프로젝트 중간발표
웹프로그래밍 팀프로젝트 중간발표
 

구현방식에 따른 알고리즘 속도차리