[TIL #9]자료구조와 알고리즘

안떽왕·2023년 3월 29일
1

Today I Learned

목록 보기
9/76

자료구조 / 알고리즘의 기본

자료구조: 효율적으로 자료(데이터)를 관리하는 방법
알고리즘: 효과적으로 연산하는 방법

자료구조/알고리즘을 배우는 이유

성능, 용량, 비용

코딩 테스트 공부순서

  • 프로그래밍 언어 기초 학습
  • 자료구조/알고리즘 핵심 개념
  • 자료구조/알고리즘 기초 문제풀이
  • 자료구조/알고리즘 문제풀이(양치기)

시간 복잡도와 공간 복잡도

  • 내가 작성한 코드의 성능, 용량을 판단하기 위한 척도
  • 수행시간(성능)의 척도 시간 복잡도
  • 메모리 사용량의 척도 공간 복잡도

10만개중에서 어떤 값을 찾아라

최선의 경우 : 빅-오메가 표기법
보통의 경우 : 빅-세타 표기법
최악의 경우 : 빅-오 표기법

알고리즘의 성능은 시간복잡도로 나타낼 수 있는데
최악의 상황을 상정하는 빅-오 표기법이 가장 많이 쓰인다

배열과 연결리스트

링크드 리스트(연결리스트)

유동적으로 연결고리를 떼었다가 붙였다가 할 수 있는 자료구조

  • 노드
    • 각 화물칸 맨 앞의 노드를 Head, 맨 뒤의 노드를 Tail

배열이 빠르게 값을 갖고 오는 것이 장점이라면 연결 리스트는 원소의 삽입/삭제에 강점이 있는 자료구조

하지만 연결리스트는 삽입/삭제에 강점이 있는 대신에 조회는 비효율적

profile
이제 막 개발 배우는 코린이

0개의 댓글