자료구조와 알고리즘

황지원·2023년 12월 22일

오즈코딩스쿨

목록 보기
6/8

프로그램 = 자료구조 + 알고리즘

알고지름이라 할뻔

자료구조

  • 프로그램에서 처리하는 자료를 저장하는 구조
  • 데이터의 집합, 관계
  • 중요특성: 조직화

알고리즘

  • 문제를 처리하는 단계적 절차
  • 데이터의 연산을 정의
  • 중요특성: 효율성(공간/시간)

자료구조를 일상생활과 비교한다면

  • 물건을 쌓는 것 = 스택(Stack)
  • 마트 계산대의 줄 = 큐(Queue)
  • 버킷 리스트 = 리스트 (List)

등등...

알고리즘?

문제 해결을 위한 단계적 절차라고 보며 특정 작업을 수행하는 유한한 명령어들의 집합이라고 한다.

알고리즘의 조건

  • 입력: 0개 이상의 입력이 존재
  • 출력: 1개 이상의 출력이 존재
  • 명백성: 명령어의 의미는 모호하지 않고 명확해야 함
  • 유한성: 한정된 수의 단계 후 종료되어야 함
  • 유효성: 각 명령어들은 실행가능한 연산이어야 함

자료구조와 알고리즘의 관계

자료구조가 선택되면 알고리즘은 명확해진다.

자료구조의 선택은 효율적인 알고리즘의 선택이 되고, 알고리즘을 프로그램 명령어의 집합이라고도 한다.

프로그램은 특정 문제를 해결하기 위한 처리 방법과 순서를 기록한 명령어들의 모음이라고 한다.

[참고문헌]

Ref.1

Ref.2

profile
개발 광기를 드러내보쟈..

0개의 댓글