반응형
Day 1: 자료구조의 개요
- 강의 내용:
- 자료구조의 정의와 중요성
- 자료구조의 개념
- 자료구조가 필요한 이유
- 자료구조의 종류
- 선형 자료구조 vs 비선형 자료구조
- 배열, 리스트, 스택, 큐, 트리, 그래프 등
- 자료구조의 정의와 중요성
- 실습:
- 다양한 자료구조의 예시와 활용 사례 설명
# 자료구조의 예시
# 리스트, 스택, 큐, 트리, 그래프 등 설명
# 리스트 예시
my_list = [1, 2, 3, 4, 5]
print("리스트:", my_list)
# 스택 예시 (리스트를 사용한 간단한 스택)
stack = []
stack.append(1)
stack.append(2)
stack.append(3)
print("스택:", stack)
stack.pop()
print("스택 (pop):", stack)
# 큐 예시 (리스트를 사용한 간단한 큐)
from collections import deque
queue = deque()
queue.append(1)
queue.append(2)
queue.append(3)
print("큐:", queue)
queue.popleft()
print("큐 (popleft):", queue)
Day 2: 배열의 기본 개념
- 강의 내용:
- 배열의 정의와 특징
- 배열의 개념과 중요성
- 배열의 크기와 인덱싱
- 배열과 리스트의 차이
- 배열과 파이썬 리스트의 비교
- 파이썬 리스트의 유연성
- 배열의 정의와 특징
- 실습:
- 기본 배열 예제 작성 및 배열의 특징 설명
# 파이썬 리스트를 사용한 배열 예제
arr = [10, 20, 30, 40, 50]
print("배열:", arr)
# 배열의 인덱싱
print("첫 번째 요소:", arr[0])
print("마지막 요소:", arr[-1])
# 배열의 크기
print("배열의 크기:", len(arr))
Day 3: 배열의 기본 연산
- 강의 내용:
- 배열의 기본 연산
- 배열 요소의 추가, 삭제, 수정
- 배열의 순회
- 반복문을 사용한 배열 순회
- 배열의 기본 연산
- 실습:
- 배열의 기본 연산 예제 작성
# 배열 요소 추가
arr = [10, 20, 30]
arr.append(40)
print("요소 추가 후 배열:", arr)
# 배열 요소 삭제
arr.remove(20)
print("요소 삭제 후 배열:", arr)
# 배열 요소 수정
arr[1] = 50
print("요소 수정 후 배열:", arr)
# 배열 순회
print("배열 순회:")
for element in arr:
print(element)
Day 4: 다차원 배열
- 강의 내용:
- 다차원 배열의 개념
- 2차원 배열과 그 이상의 배열
- 다차원 배열의 활용 예
- 행렬 연산
- 다차원 배열의 개념
- 실습:
- 2차원 배열 예제 작성 및 기본 연산
# 2차원 배열 예제
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 2차원 배열 요소 접근
print("2차원 배열의 첫 번째 행:", matrix[0])
print("2차원 배열의 첫 번째 요소:", matrix[0][0])
# 2차원 배열 순회
print("2차원 배열 순회:")
for row in matrix:
for element in row:
print(element, end=" ")
print()
Day 5: 배열의 활용
- 강의 내용:
- 배열의 실제 활용 사례
- 데이터 저장 및 접근
- 간단한 알고리즘 구현
- 배열을 사용한 간단한 알고리즘
- 최대값, 최소값 찾기
- 평균 계산
- 배열의 실제 활용 사례
- 실습:
- 배열을 사용한 알고리즘 구현 예제 작성
# 배열에서 최대값, 최소값 찾기
arr = [10, 20, 30, 40, 50]
max_value = max(arr)
min_value = min(arr)
print("최대값:", max_value)
print("최소값:", min_value)
# 배열 요소의 평균 계산
average = sum(arr) / len(arr)
print("평균:", average)
Day 6: NumPy를 사용한 배열
- 강의 내용:
- NumPy 라이브러리 소개
- NumPy의 개념과 장점
- NumPy 배열의 특징
- NumPy 배열 생성 및 기본 연산
- NumPy 배열 생성
- 기본 연산 수행
- NumPy 라이브러리 소개
- 실습:
- NumPy 배열을 사용한 예제 작성
import numpy as np
# NumPy 배열 생성
np_arr = np.array([10, 20, 30, 40, 50])
print("NumPy 배열:", np_arr)
# NumPy 배열 기본 연산
print("NumPy 배열의 합:", np_arr.sum())
print("NumPy 배열의 평균:", np_arr.mean())
print("NumPy 배열의 최대값:", np_arr.max())
print("NumPy 배열의 최소값:", np_arr.min())
Day 7: 종합 연습 및 프로젝트
- 강의 내용:
- 배열을 사용한 종합 연습 문제 풀이
- 다양한 배열 관련 문제
- Q&A 세션
- 미니 프로젝트
- 배열을 활용한 간단한 프로그램 구현
- 예: 학생 성적 관리 시스템
- 배열을 사용한 종합 연습 문제 풀이
- 실습:
- 종합 연습 문제 풀기
- 미니 프로젝트 작성 및 발표
# 연습 문제 1: 배열에서 중복 요소 제거
arr = [10, 20, 20, 30, 40, 50, 50]
unique_arr = list(set(arr))
print("중복 제거 후 배열:", unique_arr)
# 연습 문제 2: 2차원 배열의 전치 행렬 구하기
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
transpose = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
print("전치 행렬:")
for row in transpose:
print(row)
# 미니 프로젝트 예제: 학생 성적 관리 시스템
students = [
{"name": "Alice", "score": 85},
{"name": "Bob", "score": 78},
{"name": "Charlie", "score": 92}
]
# 학생 평균 성적 계산
average_score = sum(student["score"] for student in students) / len(students)
print("학생 평균 성적:", average_score)
# 최고 성적 학생 찾기
top_student = max(students, key=lambda student: student["score"])
print("최고 성적 학생:", top_student["name"], top_student["score"])
이 강의는 파이썬의 자료구조 중 배열을 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!
반응형
'-----ETC2----- > 자료구조' 카테고리의 다른 글
[자료구조] Week 6: 트리 I - 트리의 개념과 이진 트리 (0) | 2024.06.01 |
---|---|
[자료구조] Week 5: 해시 테이블 (0) | 2024.06.01 |
[자료구조] Week 4: 우선순위 큐와 힙 (0) | 2024.06.01 |
[자료구조] Week 3: 스택과 큐 (0) | 2024.06.01 |
[자료구조] Week 2: 연결 리스트 (0) | 2024.06.01 |