[자료구조DataStructure]자료구조와 알고리즘 차이, 배열

자료구조와 알고리즘

  • 자료구조(data structure) : 데이터를 효율적으로 사용하기 틀이다. 이러한 효율성은 시간 복잡도(time complexity)와 공간 복잡도(space complexity) 기준으로 평가된다.
    • 시간 복잡도란, 해당 자료구조의 시간 효율성의 척도이며 작을 수록 좋은 자료구조이다.
    • 공간 복잡도란, 해당 자료구조의 공간 효율성의 척도이며 작을 수록 좋은 자료구조이다.
  • 알고리즘 : 어떤 값을 입력으로 받아 원하는 값으로 출력하는 잘 정의된 계산 과정이다. 알고리즘 효율성은 실험적 분석방법과 이론적 분석방법으로 분석가능하다. 이론적분석시 가장 대표적인 것이 빅오표기법이다.
    • 실험적 분석 : 직접 코드를 구현하는 분석방법으로 한계가 있기때문에 이론적 분석방법을 이용한다.
    • 이론적 분석 : 빅오표기법
  • 자료구조와 알고리즘의 관계 : 효율적인 알고리즘을 만들기 위해 필요한 것이 자료구조이다.




배열

  • 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위해 사용하는 자료구조
  • 배열의 구성 = element의 집합, element = index + value

https://opentutorials.org/module/1335/8677

  • 특징 : 크기가 정해져있다. 기능이 없다.
    • 작고 가볍고 단순하다. 즉 좋은 부품으로 사용할 수 있다.




요약

  • 자료구조 : 데이터를 효율적으로 조직하는 방법
  • 알고리즘 : 문제를 해결하는 방법
  • 자료구조와 알고리즘의 관계 : 효율적인 알고리즘을 만들기위해 자료구조가 필요하다.




참고