41.TIL - 알고리즘 기초

dream.log·2021년 10월 18일
0

TIL

목록 보기
41/42
post-thumbnail

기초지식 학습에 대한 필요성을 절실하게 느끼고 구입한
"자료구조와 함께 배우는 알고리즘 입문 - 파이썬편" 책의 내용을
공부하며 정리한 내용입니다.


1. 알고리즘 관련 개념

알고리즘 : 어떠한 문제를 해결하기 위해 정해놓은 일련의 절차
올바른 알고리즘? 어떠한 경우에도 실행 결과가 똑같이 나오는 것

  • 순차 구조 : 순서대로 처리되는 구조
  • 조건식 : if와 콜론(:)사이에 있는 식
maximum = a
if b > maximum : maximum = b 
: if ~ maximum 까지가 조건식
  • 선택 구조 : 조건식으로 평가한 결과에 따라 프로그램의 실행 흐름이 변경되는 것
  • 양갈래 선택 : 작성한 조건식에 따라 알고리즘의 흐름이 두 갈래로 나뉘는 것 (예/아니오의 형태)
  • 헤더 : if나 while문과 같은 복합문의 콜론까지의 범위 (조건식이 포함되는 부분)
  • 스위트(suite) : 헤더와 한세트로 따라다니는 실행문
    스위트가 단순문인 경우 => 헤더와 같은 행에 둘 수 있음.
    세미콜론(;)을 통해 단순문을 구분할 수도 있음
 if a<b: min2=a
 if a<b: min2 = a; max2 = b;
 
 틀린 예시.  헤더와 같은 행에 복합문을 두개 둘 수 없다.
 if a < b : if c < d: x =u
  • 결정 트리(decision tree) : 조합을 나열한 모습이 나무처럼 보이는 것
    왼쪽 끝에서 시작해 오른쪽으로 나아가며, 예 - 아니오에 따라 움직인다.
  • 연산자
    • 단항 연산자 : 피연산자 1개 (ex: -a)
    • 이항 연산자 : 피연산자 2개 (ex: a<b)
    • 삼항 연산자 : 피연산자 3개 (ex: a if b else c)
  • 조건 연산자 : if~else 문은 파이썬의 유일한 삼항 연산자!

2. 순서도

문제를 정의, 분석하고 해결하는 방법을 그림으로 표현

  • 실제로 실행할 연산을 나타내는 기호
  • 제어 흐름을 나타내는 선 기호
  • 프로그램 순서도를 이해하거나 작성하는데 편리한 특수 기호

  • 데이터 : 기억 장치를 지정하지 않은 데이터 자체
  • 처리 : 여러 종류의 처리 기능. 정보의 값, 형, 위치를 바꾸도록 정의한 연산이나 연산 집행의 실행, 연속하는 몇가지 흐름 가운데 하나의 방향을 결정하는 연산이나 연산집행의 실행을 나타낸다.
  • 판단 : 하나의 입구와 하나 이상을 선택하는 출구가 있고 정의한 조건을 평가하여 하나의 출구를 선택하는 판단기능을 나타낸다.
  • 루프 범위 : 시작과 종료를 나타내며, 같은 기호로 사용한다. 같은 내용을 표기하여 시작과 종료를 알리고 시작값, 증갓값, 종룟값 같은 조건을 표기한다.

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

  2. 순서도 관련 이미지
    https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=njw1204&logNo=221372908724

profile
한 걸음, 한 걸음 포기하지 않고 발전하는 Backend-developer 👩🏻‍💻 노션 페이지를 통한 취업 준비 기록과 회고를 진행하고 있습니다. 계획과 기록의 힘을 믿고, 실천하고자 합니다.

0개의 댓글