[Algorithm] #02 배열, 검색, 정렬

g.pm·2022년 9월 24일
1

알고리즘

목록 보기
2/6
post-thumbnail

🔢 배열(Array)

  • 행 우선 순회 (2중 반복문)
  • 열을 우선순회 (2중 반복문) i<->j 위치를 변경

  • 지그재그 순회

  • 델타를 이용한 탐색
    상하좌우 다 확인

  • 전치 행렬 대각선 바꾸기
    swap 사용

🔍 검색(Search)

저장되어 있는 자료 중에 원하는 항목을 찾는 작업
목적하는 탐색키를 가진 항목을 찾는 것.
종류 : 순차검색, 이진검색, 인덱싱

  • 순차검색 : 일렬도 되어 있는 자료를 순서대로 검색하는 방법

    • Array, 연결리스트 등 순차구조로 구현된 자료구조에서 응용
    • 구현 쉬움.
    • 정렬되지 않는 자료, 되어 있는 자료 두가지임.
      • 복잡도 O(n)
  • 이진 검색

    • 효율적인 검색 방법
    • 자료의 가운데에 있는 항목의 키 값과 비교 후 다음 위치 검색 결정
      목적 키를 찾을떄까지 이진 검색을 순환적으로 반복함.
      자료가 정렬되어 있는 상태여야함
      • 단점
        자료가 정렬되어 있는 상태여야함
        자료에 삽입이나 삭제가 발생했을때 array 상태를 항상 정렬 상태로 유지해야함.

    📜 정렬(Sort)

  • 선택 알고리즘 : 저장되어 있는 자료로 부터 k번쨰로 큰 혹은 작은 원소를 찾는 방법

    • 최솟값 최대값 중간값을 찾는 알고리즘을 의미.
    • 정렬 알고리즘을 사용.
      • 시간 복잡도 O(Kn)
  • 선택정렬 : 주어진 자료들 중 가장 작은 값의 원소부터 차례대로 선택하여 위치를 교환하는 방식

    • 과정 : 1. 주어진 리스트 중에서 최소값을 찾음
      2. 그 값을 리스트의 맨 앞에 위치한 값과 교환
      3. 나머지 리스트 대상 반복.
    • 시간 복잡도 O(n2)
profile
다재다능

0개의 댓글