데이터 구조와 알고리즘이란?
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을
오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
● 잔재미코딩 유투브 오픈
[구독해보기]
1. 데이터 구조(Data Structure)와 알고리즘 (Algorithm)이란?¶
1.1. Data Structure (데이터 구조)¶
- 대량 데이터를 효율적으로 관리할 수 있는 데이터 구조, 자료구조라고도 함
- 효율적인 데이터 처리를 위해, 데이터의 특성에 따라, 체계적으로 데이터를 구조화 하는 것
- 효율적으로 데이터를 관리하는 예:
- 우편번호: 5자리 우편번호로 국가의 기초구역을 제공
- 5자리 우편번호에서 앞 3자리는 시, 군, 자치구를 표기, 뒤 2자리는 일련번호로 구성
- 학생 관리: 학년, 반, 번호를 학생에게 부여해서, 학생부를 관리
- XX학년, X반, X번 학생
- 만약 위 관리 기법이 없다면... 3000명 학생중 특정 학생을 찾기 위해, 전체 학생부를 모두 훑어야 함
- 우편번호: 5자리 우편번호로 국가의 기초구역을 제공
1.2. 알고리즘 (Algorithm) 이란?¶
- 알고리즘: 어떤 문제를 풀기 위한 절차/방법
- 어떤 문제에 대해, 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍
In [ ]:
# 알고리즘 예제: 김치찌개 만들기 (실행은 안됨)
def create_food(kimchi):
'''
clean_pot() # 1.냄비 닦기
prepare_pot(kimchi) # 2. 냄비에 김치와 김칫국물 넣기
heat_pot() # 3. 냄비 끓이기
add_pot(seasoning) # 4. 양념 넣기
'''
kimchi_stew = create_food(kimchi)
eat(kimchi_stew)
- 알고리즘은 프로그래밍으로 되어 있고,
- 결국 컴퓨터가 알아들을 수 있는 비트로 표현 - 바이너리(이진 파일)
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다
프로그래밍 연습
정수의 절대값을 구하는 프로그램 작성해보기
위 그림을 확인하면서, 작성한 프로그램과 비교해보기
정수의 절대값을 구하는 프로그램 작성해보기
위 그림을 확인하면서, 작성한 프로그램과 비교해보기
In [6]:
def func(num):
if num > 0:
return num
else:
return -num
func(-1)
Out[6]: