혼공파 48 ~ 49강
1. 복잡도
# 시간 복잡도
자료 크기 n에 따른 계산 횟수를 식으로 표현하여 계수 없이 최고차 항으로만 표현하는 방식
→ 점근 표기법, 빅오 표기법, 란다우 표기법
복잡도 최고차 항의 서열
공식 자료에 따른 슈퍼컴퓨터 순위
1위 : US Oak Ridge 연구소 Prontier [1.12엑사 플롭 급] : 1초에 112경 번의 부동소수점 연산
O(n!) 의 자료 개수 32개에 대한 연산만 해도 위의 슈퍼컴퓨터로 계산 불가
따라서 프로그램/알고리즘의 복잡도를 낮추는 것은 중요한 것
현실적으로 사용가능한 시간 복잡도의 마지노선 : nlogn, n^2
2. 함수 관련 기본 용어
# program : 미리 + 작성된
# 코드 전체 : 프로그램(program), 루틴(routine)
# 서브루틴, 서브프로그램 : 전체 프로그램 중에 작은 조각 프로그램
# 매개변수(parameter) : 함수에 괄호에 들어가는 변수
# 절차(procedure) : 매개변수를 가지는 서브루틴
# 프로그램, 루틴 전체
케이크 = {
"이름": "당근 케이크",
"남은 무게": 300
}
## 서브 루틴, 서브 프로그램
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
print("케이크를 50g 만큼 자르고")
print("케이크를 먹는다")
케이크["남은 무게"] -= 50
print(f"남은 케이크의 무게는 {케이크['남은 무게']}입니다.")
서브 루틴 문법
def 이름(매개변수):
서브프로그램
파이썬은 함수 내부에서 함수 외부에 있는 변수의 스택값을 변경하는 것을 허용하지 않는다.
# f(x) = x^2 +2x + 1
output = 0
def f(x):
output = x ** 2 + 2 * x + 1
f(10)
print(output) # 그냥 0
f(20)
print(output) # 그냥 0
# 함수 안에 output 변수를 사용할 수 없음
# 함수(function) : 수학에서 가져온 용어 / 코드 자체가 값이 될 수 있게
프로시저 + "리턴 값"
# f(x) = x^2 +2x + 1
output = 0
def f(x):
return x ** 2 + 2 * x + 1
print(f(10)) # 121
print(f(20)) # 441
# 클래스 내부에 있는 함수 : 메서드(method)
# 현대적인 프로그래밍 언어에서는 함수의 문법을 통해 프로시저, 메서드를 사용할 수 있다.
'Base > Python' 카테고리의 다른 글
13. 메모리구조 / global 키워드 / 복사 (0) | 2023.02.27 |
---|---|
12. 함수 / 매개변수 / 함수의 리턴 (1) | 2023.02.23 |
10. 리스트와 딕셔너리 관련 기본 함수 / 리스트 내포 / join함수 (1) | 2023.02.20 |
9. reversed() 함수 / while 반복문 / break / continue 키워드 (0) | 2023.02.18 |
8. 범위와 반복문 / 수열 / 온라인 저지 여러 줄 입력 받기 (2) | 2023.02.17 |
댓글