본문 바로가기

Python

(37)
기본 정렬3. 선택 정렬(Selection Sort) 구현하기 1. 선택 정렬(Selection Sort)의 기본 개념 2. 선택 정렬의 예시와 원리 파악 3. 실제 코드 구현 및 예시를 통한 이해 1. 선택 정렬(Selection Sort)의 기본 개념 선택 정렬(Selection Sort)를 간단하게 정의하면, 주어진 데이터 중 최소값을 찾아서, 계속 맨앞으로 위치를 바꾸면서 순서를 바꾸는 방법입니다. 그림을 보면서 이해하면 더 쉽게 이해할 수 있습니다. (출처: en.wikipedia.org/wiki/Selection_sort) 위의 사진에서 보이는 것처럼 주어진 숫자 중 3이 가장 최소값이어서 자리를 바꾼다면 6과 자리를 바꾸게 되겠죠. 이런식으로 하나하나 계속 비교하면서 자리를 찾아가는 방법입니다. 기본 개념을 3단계로 요약하면 다음과 같습니다. 1단계. ..
기본 정렬2. 삽입 정렬(Insertion Sort) 1. 삽입 정렬(Insertion Sort)의 기본 개념 2. 삽입 정렬의 예시와 손 코드 구상 3. 삽입 정렬의 코드 구현 4. 삽입 정렬의 실제 활용 1. 삽입 정렬(Insertion Sort)의 기본 개념 삽입 정렬의 기본 원리를 3단계로 요약하면 다음과 같습니다. 첫 번째. 삽입 정렬은 두 번째 인덱스부터 시작합니다. 두 번째. 해당 인덱스(key 값) 앞에 있는 데이터부터 비교해서, key 값이 더 작으면 그 데이터 값을 뒤 인덱스로 복사한다 세 번째. 이를 key 값이 더 큰 데이터를 만날 때까지 반복하고 그리고 큰 데이터를 만난 위치 바로 뒤에 key 값을 이동 이를 시각화하여 표현하면 다음과 같다. (출처: commons.wikimedia.org/wiki/File:Insertion-sort..
데이터 구조 4. Set(집합)의 이해 및 활용 방법 1. Set(집합)의 개념 2. Set(집합)의 종류 및 구현 방법 1. Set(집합)의 개념 보통 초등학교 고학년 내지 중학교 저학년 수학다운 수학을 배울 때 처음으로 접하는게 바로 집합이죠. 집합의 개념은 코딩하고 데이터를 관리할 때도 굉장히 중요하게 작용하는 개념이니 반드시 배우면 좋습니다. 우선 파이썬에서는 집합을 Set()이라고 부르고, 데이터를 관리합니다. 이에 대해 바로 어떠한 집합 함수들이 있는 바로 알아보도록 하겠습니다. (1) 집합의 기본 문법 1) 파이썬에서 Set 활용의 기본 : 파이썬에서는 set() 혹은 { }를 활용하여 Set 데이터 구조를 활용할 수 있습니다. 아래의 사진을 보시죠 알파벳 a,b 그리고 c를 하나의 집합에 넣은 것을 보실 수 있습니다. 간단한 집합을 만들었지만..
데이터 구조3. 스택(Stack) 파이썬에서 구현하기 1. 스택(Stack)의 기본 개념 2. 스택(Stack)의 구조 3. 스택구조 구현 해보기 - 재귀함수 1. 스택(Stack)의 기본 개념 오늘은 파이썬에서 가장 기본적인 데이터 구조 형태 중에 하나인 스택(Stack)에 대해서 알아보고자 합니다. Stack이라는 단어에서 유추해볼 수 있듯이 어떠한 데이터를 쌓고, 꺼내는 창고와 비슷한 구조라고 보시면 됩니다. 창고에서 물건을 꺼낼 때 맨 먼저 있는 것을 꺼낼 수도 있고, 반대로 맨 뒤에 있는 것부터 꺼낼 수도 있죠. 파이썬에서 스택도 마찬가지입니다. 아래의 그림을 보시면 더 이해가 빠르실 것 같습니다. 2. 스택(Stack)의 구조 (1) 스택의 기본 정책 : 스택은 LIFO(Last In, Fisrt Out) 또는 FILO(First In, Last..
데이터 구조2. 큐(Queue) - 파이썬에서 구현하기 오늘 알아볼 데이터 구조는 Queue입니다. 큐는 쉽게 말해서 줄을 서는 방식과 비슷한데요, 이를 구현하는 방식은 크게 LIFO와 FIFO가 있고 한국말로는 후입선출 선입선출 등으로 불리고 있습니다. 이것에 대한 개념부터 코드까지 함께 안내해드리도록 하겠습니다. 목차 1. Queue에 대한 기본 이해 2. Queue의 종류 및 파이썬 구현 방법 3. 실전 문제 풀이 1. Queue에 대한 기본 이해 (1) 개념 기본적으로 Queue는 번역을 하게 되면 대기줄 혹은 줄 이라고 번역할 수 있습니다. 즉 데이터에서도 대기줄이 있고, 그게 상황에 따라서 길어질 수도 혹은 짧아질 수도 있다는 뜻이죠. 실전적인 개념으로 보면, 재고 관리를 하는 데이터에 있어서 출고 완료된 데이터는 굳이 더 저장할 필요가 없을 수도..

728x90
반응형