카테고리 없음
[202500115] 파이썬 프로그래밍 - 자료구조와 알고리즘
kode-daks
2025. 1. 16. 09:40
수업 목표
- 리스트 데이터 SWAP 프로그램을 작성할 수 있다.
- 최대값 찾기 알고리즘을 이해할 수 있다.
- 선택 정렬 알고리즘을 이해할 수 있다.
- 딕셔너리를 매개변수로 활용할 수 있다.
1. 리스트 데이터 SWAP
얕은 복사
- 단순히 새 변수명에 할당하여 복사할 수 있음
- 같은 주소를 가리키므로,
- 메모리 사용량이 적음
- 리스트 내 요소가 변하면 두 변수 모두 변함
- 이를 활용해 swap 함수 작성 가능
- 인자로 리스트 자체를 받아 swap하면 얕은 복사의 성질로 swap 가능
- 인자로 리스트내 요소를 받으면 함수 소멸 시 주소도 함께 사라지므로 swap 불가능
2. id 함수와 리스트
- 메모리 주소 값을 반환해주는 함수
3. 최대값 찾기
def findmax(lst):
maxv = lst[0]
for n in lst[1:]:
if maxv < n:
maxv = n
return maxv
ca = [10, 17, 13, 11]
print(findmax(ca))
4. 선택 정렬
- 주어진 리스트 요소 중 최소값을 찾아 첫 번째 위치의 요소와 서로 교환하는 과정을 모든 요소가 정렬될 때까지 반복하는 알고리즘
- 첫 번째 수를 min 변수에 저장
- 두 번째 수와 비교하여 두 번째 수가 더 작으면 min 변수에 저장
def select_sorting(lst):
for i in range(len(lst)):
min = lst[i]
mininx = i
for j in range(i+1, len(lst)):
if min > lst[j]:
min = lst[j]
mininx = j
temp = lst[i]
lst[i] = lst[mininx]
lst[mininx] = temp
return lst
lst = [21, 10, 11, 25, 13]
print(select_sorting(lst))
5. 딕셔너리를 매개변수로 사용
-