개념 타겟인 데이터의 앞 데이터들의 크기를 따져서 본인보다 큰 데이터 앞, 작은 데이터 뒤에 데이터를 삽입하는 방법이다. 이 배열을 삽입정렬로 오름차순 정렬해보자. 1. 처음은 처음의 다음 인덱스부터 타겟을 잡고 앞과 비교한다. 0번 인덱스의 데이터가 1번보다 크다. 그리고 0이 첫번째이기 때문에 더이상 앞으로 가 비교 할 데이터가 없다. 2. 2번 인덱스를 타겟으로 잡고 0, 1인덱스와 비교한다. 8을 보니 2보다 크기 때문에 교환 대상이지만, 삽입 정렬은 버블 정렬처럼 교환하지 않는다. '삽입' 하기 때문에 우선 2를 빼 두고 8을 2자리로 옮긴다. 0번째 데이터도 있기 때문에 2와 또 비교해본다. 3이 2보다 크기 때문에 3도 밀고 그 자리에 2를 '삽입' 한다. 3. 3번 인덱스를 타겟으로 잡고 ..
개념 이름 그대로, 배열 내 최솟값을 '선택'해서 맨 앞 인덱스와 교환하는 방법이다. 첫 인덱스가 최솟값으로 변경 되면, 그 다음 인덱스부터 시작하는 배열로 최솟값을 찾아 그 다음 인덱스를 최솟값으로 변경한다. 아래의 배열을 선택정렬로 정렬해보자. 1. 0번 인덱스부터 4번 인덱스중 최솟값인 2번 인덱스와 0번 인덱스 자리를 바꾼다. 2. 0번 인덱스가 이미 최솟값이 됐으니, 1번 인덱스부터 4번 인덱스 중 최솟값인 1번 인덱스를 그냥 놔둔다. 3. 2번 인덱스부터 4번 인덱스 중 최솟값인 4번 인덱스를 2번 인덱스와 교환한다. 원래같으면 3번 인덱스와 4번인덱스 사이의 숫자를 확인하겠지만, 이미 정렬이 완료 됐으니 그만 한다. 구현 비교 대상을 설정해야 한다. 비교 대상과 루프를 돌렸을 때 나오는 숫자..
개념 앞의 항과, 바로 뒤의 항 단 두 항만을 비교한다. 앞의 숫자보다 뒤의 숫자가 더 작다면 서로를 바꾼다. 아래의 배열을 버블정렬로 오름차순 정렬 해보자. 1. 인덱스 0과 1의 숫자들을 우선 비교한다. 8보다 3이 더 크므로, 둘을 바꾼다. 2. 인덱스 1과 2의 숫자들을 비교한다. 8보다 2가 더 크므로, 둘을 바꾼다. 3. 인덱스 2와 3의 숫자들을 비교한다. 8보다 7이 더 크므로, 둘을 바꾼다. 4. 마지막으로 인덱스 3과 4의 숫자들을 비교한다. 8보다 6이 더 크므로, 둘을 바꾼다. 첫번째 턴을 다 돌았다. 그러나 정렬되지 않았다. 이렇게 턴을 총 인덱스 - 1번만큼 돈다. 구현 lists = [8, 3, 2, 7, 6] for i in range(len(lists) - 1): for j..
키를 해시함수에 넣으면 데이터가 저장되어 있는 위치를 알 수 있다. 파이썬의 딕셔너리, 고언어의 맵, 자바스크립트의 오브젝트가 해시함수다! 해시 테이블 안에 데이터들이 들어가 있다. 각각의 데이터들은 키로 연결 돼 있는데 키를 해시함수에 넣으면 주소를 반환해준다. 이 주소를 해쉬 값 이라고 한다. 용어 정리 해시: 임의 값을 고정 길이로 변환하는 것 해시 테이블: 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수: 키에 대해 산술 연산을 이용해 데이터 위치를 찾을 수 있는 함수 해시 값, 해시 주소: 키를 해싱 함수로 연산해서 해쉬 값을 알아내고 이를 기반으로 해쉬 테이블에서 해당 키에 대한 데이터 위치를 일관성 있게 찾을 수 있음 슬롯: 한 개의 데이터를 저장할 수 있는 공간 저장할 데이..
- Total
- Today
- Yesterday
- react router
- 10989 파이썬
- bs4 크롤링
- next.js 리다이렉트
- Til
- 리액트 파라미터 넘기기
- css 글래스모피즘
- nextjs 파라미터 넘기기
- nuxt 공식문서 한글
- 리액트 라우터
- 자바스크립트
- 파이썬 정렬
- 리액트 컴포넌트
- getserversideprops redirect
- 리액트 스크롤
- dvd 효과
- NextJS
- nuxt 공식문서
- 글래스모피즘 애니메이션 구현
- 파이썬 크롤링
- 움직이는 글래스모피즘
- 리액트
- 글래스모피즘 구현
- 백준 10989 파이썬
- css marquee
- 카페음료테스트
- nextjs 스크롤
- 파이썬 flask
- 화이팅
- vscode venv
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |