20201231-TIL

나영원·2021년 1월 4일
0

T.I.L.

목록 보기
101/145
post-custom-banner

오늘 공부할 내용

  • 주간 수업 복습
  • 알고리즘 과제
  • 프로젝트 진행
  • TiL 정리 및 Git & 블로그 업데이트

오늘 공부한 것 & 배운 내용

자료구조 / 알고리즘 day1 복습

  • 수업 목표

    • 기본적인 자료구조와 알고리즘을 이해하고 구현할 수 있다
    • 초급 단계의 코딩 테스트 문제를 직접 해결할 수 있다
    • 주어진 문제를 이해하고 어떤 자료구조와 알고리즘을 선택하는지 알수있어야 한다
  • 자료구조

    • 자료 : 현실 세계로부터 수집한 사실리나 개념의 값 또는 이들의 집합
      • 점수는 사실, 개념값은 IQ, EQ같은 개념적인 것
      • 개별 값 뿐 아니라 값들의 집합도 자료가 될수 있다
    • 정보 : 자료를 가공한 것
      • 평균과 같이 통계적인 값을 가지게 된다
    • 자료구조 : 자료들의 모임, 자료 간의 관계, 자료에 적용할 수 있는 명령을 의미 한다
      • 단순히 집합 뿐 아니라 자료간의 관계를 가진 모임이라고 봐야 적절하다
        • 자료들의 순서로 관계지어진 리스트
        • 부모와 자신관계인 트리 자료구조
      • 자료간의 관계가 있기 때문의 자료의 추가 삭제 시 특별한 함수나 명령이 필요하게 된다
  • 자료구조 특징

    • 효율성(Efficiency) : 특정상황에서 효율성이 높아야한다(모든 상황에서 효율이 높은 자료구조는 없다)
    • 추상화(Abstraction) : 인터페이스를 사용하듯 추상화된 자료구조가 있고 그자료구조 내부에 해당 자료구조를 구현하기 위한 동작들이 구현되어 있다
      • 하지만 처음엔 원리만 이해하고 내부구현은 크게 개의치 않고 잘활요하면 된다.
    • 재사용성(Reusabillity)
      • 아주 특별한 상황에 엄청난 효율을 보여주는 자료구조보다는 어느정도 특정한 상황에 어느정도 효율이 높은 것이 더 좋은 자료구조가 된다
  • 자료 구조의 필요성

    • 프로그램에는 다양한 자료를 임시/영구 적으로 저장하여 사용한다
      • 그렇기 때문에 상황에 따라 적절한 자료구조를 선택하여 사용해야 한다.
    • 자료구조의 선택(자료를 어떻게 저장할지)는 프로그램에 다음과 같은 중대한 영향을 끼친다
profile
배우는 개발 일기
post-custom-banner

0개의 댓글