알고리즘 정렬적으로 공부하자!

조준수·2023년 2월 18일
0

알고리즘 1

1 선형검색

  1. 선형검색이란?
    (1) 선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 찾는다.

  2. 보초법
    (1) 마지막 인덱스에 찾으려는 값을 추가해서 찾는 과정을 간략화한다.
    (2) 검색 성공 : 마지막 이전에 검색된 경우
    (3) 검색 실패 : 마지막에 검색된 경우

3 이진검색

  1. 이진검색이란?
    (1) 정렬되어 있는 자료구조에서 중앙값과의 크고 작음을 이용해서 데이터를 검색한다.
    (2) 4가지 변수를 설정한 후 검색한다.

4 이진검색(실습)

  1. 찾는 수가 중앙값보다 크다
    (1) staIdx = midIdx

  2. 찾는 수가 중앙값보다 작다
    (1) endIdx = midIdx

5 순위

  1. 순위
    (1) 수의 크고 작음을 비교해서 작을 때 인덱스를 1씩 올려서 구한다.

  2. 길이가 20개인 리스트 만들기
    (1) 예시
    ranks = [ 0 for i in range(20)]

알고리즘 2

6 순위(실습)

  1. abs( )
    (1) 절대값을 구한다.

7 버블정렬

  1. 버블정렬이란?
    (1) 처음부터 끝까지 인접하는 인덱스 값을 순차적으로 비교하면서 큰 숫자를 가장 끝으로 옮기는 알고리즘이다.

  2. 서로의 값을 바꾸는 방법
    (1) 예시
    num[j], num[j+1] = num[j+1], num[j]

8 버블정렬(실습)

  1. import copy
    (1) 깊은 복사나 얕은 복사를 할 때 쓴다.
    (2) 예시
    import copy
    def = bubbleSort(ns, deepCopy=True):
    if deepCopy:
    cns = copy.copy(ns)
    else:
    cns = ns

9 삽입정렬

  1. 삽입정렬이란?
    (1) 정렬되어 있는 자료 배열과 비교해서 정렬 위치를 찾는다.

알고리즘 3

11 선택정렬

  1. 선택정렬이란?
    (1) 가장 작은 데이터를 찾아 맨 앞의 데이터와 자리를 바꾼다.
    (2) 중첩 for문을 이용한다.
profile
print(‘안녕하세요! 반갑습니다!’)

0개의 댓글