본문 바로가기
Python/Data Structure

Algorithm - 개요1

by ADELA_J 2023. 12. 5.

 

<순차 구조, 선택 구조>

코드 01

 

08~ 10행은 순차적으로 실행.

08~ 10 처럼 한 문장씩 순서대로 처리되는 구조가

순차 구조 sequential structure  

 

09~10은 if문으로 복합문임. if와 콜론 사이에 있는 조건식이 있고,

조건식 true/false에 따라 실행 흐름이 변경되는 구조를

선택 구조 select structure 라고 함. 


<알고리즘 흐름>

출처 : Do it 자료구조와 함께 배우는 알고리즘 입문 - 파이썬 편

알고리즘 흐름은 위에서 아래

긴 네모 안에 작성한 작업이 실행되고 (← 이거 표시는 대입임)

마름모 모양 안에 작성한 조건식에 따라 True /False 중 하나 따라가고

▶ 조건식에 따라 흐름이 두 갈래로 나뉘는 것을 양갈래 선택 이라고 부름 

알고리즘이 흐르는 방향은 조건식이 결정.

 


<형 변환>

코드 02

 

형 변환 type conversion

코드 01에서 처럼 input은 문자열을 입력받아 반환함.

(그래서 int를 붙여준거)

 

int(문자열)을 전달받으면 10진수 정수형으로 변환해줌

그 뒤에 int(문자열, 진수) 로 2개의 인수를 전달받으면 

맞게 변환해줌

 

 


<복합문>

코드 03

if문이나 while 문 등 복합문 첫 부분, 콜론 (:) 까지를

header 헤더 라고 부름

그 뒤에 따라 오는 것은 '스위트(suite)가 이어진다' 라고 말함.

스위트 suite는 헤더와 한 세트로 따라다니는 실행문

 


 

<알고리즘>

어떠한 문제를 해결하기 위해 정해 놓은 일련의 절차

올바른 알고리즘 : 어떠한 경우에도 실행 결과가 똑같이 나오는 것


 

<결정트리>

출처 : Do it 자료구조와 함께 배우는 알고리즘 입문 - 파이썬 편

 

조합을 나열한 모습이 나무처럼 생겨서 결정 트리 decision tree

왼쪽 끝에서 시작하여 오른쪽 끝으로 나아감

끝 둥근 사각형 안의 조건이 성립하면 검은색을 따라가고 아니면 파란색을 따라감

 

<세 정수를 입력받아 중앙값 구하기>

◀ 중앙값 구하는 코드 01 ▶ 중앙값 구하는 코드 02

 

두 개의 코드를 비교해보면

같은 결과 값이 나온다.

 

코드 02 가 01보다 짧기 때문에 효율이 더 좋을 것이라 생각할 수 있겠지만.

효율은 01이 좋다.

▶ 코드 02 에서 5행을 뒤집은 조건문이 7행이다.

즉 이미 a,b 비교를 이미 5행에서 했는데 7행에서 또 하는 것이 비효율적이라는 뜻

 

 

'Python > Data Structure' 카테고리의 다른 글

Algorithm - 개요2  (2) 2023.12.14