본문 바로가기

파이썬75

Python 자료구조 & 알고리즘 - 정렬(버블, 삽입, 선택) 1. 정렬 어떤 데이터들이 주어졌을 때 이를 정해진 순서대로 나열하는 것 프로그램 개발 시 빈번하게 정렬을 필요로 함 다양한 알고리즘이 고안되었으며 알고리즘 학습의 필수사항 2. 버블 정렬(bubble sort) 두 인접한 데이터를 비교해서 앞에있는 데이터가 뒤에 있는 데이터보다 크면 (작으면) 자리를 바꾸는 정렬 알고리즘 3. 삽입 정렬(insertion sort) 인덱스(key)앞에 있는 데이터(A)부터 비교해서 key가 더 작으면(크면) 데이터(A)값을 뒤 인덱스로 복사 key가 더 큰 데이터를 만날 때까지 반복 큰 데이터를 만난 위치 바로 뒤에 key를 이동 4. 선택 정렬(selection sort) 주어진 데이터 중, 최소값을 찾음 해당 최소값을 데이터 맨 앞에 위치한 값과 교체함 맨 앞의 위.. 2023. 2. 21.
Python 자료구조 & 알고리즘 - 복잡도 1. 알고리즘 복잡도 표현방법 1-1. 알고리즘 복잡도 계산이 필요한 이유 하나의 문제를 푸는 알고리즘은 다양함 * 정수의 절대값을 구하는 방법 * 방법1 : 값이 음수인지 확인해서 0보다 작은 음수일 때 -1을 곱하기 * 방법2 : 정수값을 재곱한 값에 루트를 씌우기 디양한 알고리즘 중 어떤 알고리즘이 더 좋은지 분석하기 위해 복잡도를 정의하고 계산함 1-2. 알고리즘 복잡도 계산 항목 공간 복잡도 : 알고리즘이 사용하는 메모리 사이즈 시간 복잡도 : 알고리즘 실행 속도 1-3. 알고리즘 성능 표기법 오메가 표기법 알고리즘 최상의 실행 시간을 표기 세타 표기법 알고리즘 평균 실행시간을 표기 빅오 표기법 최악의 실행 시간을 표기 아무리 최악의 상황이라도 이 정도의 성능은 보장함을 의미 가장 많이 사용 1.. 2023. 2. 20.
Python 데이터 분석 - 워드 클라우드 1. 워드 클라우드(Word Cloud) 핵심단어를 시각화하는 기법 문서의 키워드, 개념등을 직관적으로 파악할 수 있게 핵심 단어를 시각적으로 돋보기에 하는 기법 ✔ 예제1 ✔ 예제2 ✔ 예제3 ✔ 예제4 2023. 2. 20.
Python 데이터분석 - 형태소분석 1. 형태소 분석 자연 언어의 문장을 형태소라는 최소 단위로 분할하고 품사를 판별하는 작업 영어 형태소 분석은 형태소마다 띄어쓰기를 해서 문장을 구성하는 것이 기본임(분석이 쉬운편) 아시아 계열 언어분석은 많은 노력이 필요 한국어 형태소 분석 라이브러리: KoNLpy 2. KoNLPy에 다양한 형태소 분석 라이브러리 Hannanum: 한나눔. KAIST Semantic Web Research Center 개발 KKma: 꼬꼬마. 서울대학교 IDS(Intelligent Data Systems) 연구실 개발 Komoran: 코모란. Shineware에서 개발 Mecab: 메카브. 일본어용 형태소 분석기를 한국어로 사용할 수 있도록 수정 개발 OKT(Open Korean Text): 오픈소스 한국어 분석기. .. 2023. 2. 20.