
● Insertion Sort? - Insertion Sort 또한 어렵지는 않지만 성능이 아쉬운 정렬이다. - Insertion Sort 또한 Selection sort와 마찬가지로 배열을 두 영역(정렬된 영역, 정렬되지 않은 영역)으로 나눠서 진행한다. - Insertion Sort는 정렬되지 않은 영역의 가장 앞에 있는 데이터를 하나씩 꺼내서 정렬된 영역 내의 적절한 위치에 삽입해서 정렬하는 알고리즘이다. [4, 1, 5, 3, 6, 2] - 참고로 Insertion Sort는 첫 번째 원소(index = 0)는 이미 정렬이 되어있다는 가정하에 정렬을 하는 알고리즘이다. - 아래 그림으로 보면 (index[0] = 4)는 이미 정렬되어 있는 상태이다. 1. - 정렬되지 않은 영역의 첫 번째 원소인 ..

● 선택정렬(Selection sort)? - Selection sort 또한 Bubble sort와 마찬가지로 구현이 그다지 어렵지 않은 알고리즘이다. - 반대로 말하면 Selection sort 또한 Bubble sort와 마찬가지로 성능이 좋다고 할 수는 없다. - Selection sort는 배열의 정렬되지 않은 영역의 첫 번째 원소(가장 앞 원소)를 시작으로 마지막 원소까지 비교 후 가장 작은 값을 첫 번째 원소로 가져온다. ex) [6, 3, 4, 1, 2, 5] - 위의 배열이 한 번도 Selection sort를 거치지 않은 배열이라고 했을 때 배열의 정렬되지 않은 영역은 아래와 같다. - 정렬되지 않은 영역의 첫 번째 원소(index[0] = 6)를 시작으로 마지막 원소까지 비교 후 가장..

● 도입 - 앞으로 몇 개의 글에서 배열에 무작위로 섞인 숫자를 정렬하는 방법에 대해 알아볼 것이다. - 이번 글에서는 여러개의 정렬 알고리즘 중 Bubble Sort에 대해 알아볼 것이다. - Bubble Sort는 가장 쉬운 정렬 알고리즘 중 하나이다. ● 개념 - Bubble Sort는 앞에 있는 숫자와 옆에 있는 숫자의 크기를 비교해 자리를 바꾸는 알고리즘이다. [4, 2, 3, 1] - 위와 같이 숫자가 무작위로 들어있는 배열이 있다고 했을 때 아래와 같은 작업이 일어난다. 1). 가장 앞에 있는 숫자 4와 그 옆에 있는 숫자 2의 크기를 비교한다. 2). (4 > 2)이므로 4와 2의 자리를 바꾼다. → [2, 4, 3, 1] 3). 두 번째 숫자 4와 그 옆에 있는 숫자 3의 크기를 비교한다..

● 도입 - 해시테이블은 프로그래밍 언어에 따라 이름이 조금씩 다르다.(Hash, Map, HashMap, Dictionary 등) - 해시테이블은 단어 그대로 Hash와 Table이 합쳐진 자료구조이다. - 표를 영어로 Table 이라고 한다. 그렇다면 여기서 Hash는 무슨 뜻인지 알아보자● Hash(구글링해서 정리) - 그 유명한 ChatGPT에게 hash에 대해 알려달라고 해봤다. 나름 정리를 잘 해줘서 번역해봤다.- 해시 데이터 구조(hash data structure)는 항목별로 고유한 키를 사용하여 데이터를 테이블 형식으로 구성하고 저장하는 방식이다. - 해시 함수를 사용하여 각 key-value 쌍에 대한 고유한 인덱스를 생성하므로 항목의 빠른 조회, 삽입 및 삭제가 가능합니다. - Has..

- 큐(Queue)도 Stack과 같이 단순한 규칙을 가지고 있는 리스트이다. - 규칙 : FIFO(First In First Out) - 즉, 먼저 들어간 데이터가 가장 먼저 나온다는 의미로서 먼저 들어간게 가장 나중에 나오는 Stack과는 반대의 개념이다. - Queue는 운영체제에서도 사용된다. - 운영체제가 프로세스의 작업 요청을 들어온 순서대로 Queue에 넣고 이를 CPU가 순서대로 꺼내서 처리한다. - 이를 운영체제에서는 FIFO 스케줄링이라고 한다. - 일상생활에서 마트 계산대, 놀이공원 줄 등도 모두 Queue의 개념으로 볼 수 있다. ● 연결리스트로 Queue 구현하기 - 연결리스트의 맨 첫 번째 node를 head 라고 했을 때 숫자 1, 2, 3, 4 를 순서대로 연결리스트에 삽입하..

● Stack이란? - Stack은 단순한 규칙을 가지고 있는 리스트이다. 여기서 규칙은 FILO(First In Last Out)이다. - FILO(First In Last Out) : 먼저 들어간 데이터가 나중에 나오는 규칙 ex) 10명의 사람이 모두 1층에서 엘베를 탄 후 5층에서 내린다고 했을 때 가장 먼저 탄 사람이 가장 나중에 내린다. - Stack은 먼저 들어온 게 나중에 나오는 조건만 충족한다면 어떠한 자료구조로 구현하든 상관없다. - 배열과 연결리스트를 이용해서도 각각 Stack을 구현할 수 있다. ● 연결리스트를 이용해 Stack 구현 - 연결리스트의 맨 첫 번째 node를 head 라고 했을 때 이 haed를 가지고 모든 node를 연결할 수 있다.(아래 사진 참고) - 바로 이 h..
- Total
- Today
- Yesterday
- Spring Boot
- Stream
- OS
- 운영체제
- java
- 빅데이터 분석기사
- 코테
- 빅데이터
- Phaser3
- node.js
- git
- Java8
- MySQL
- Phaser
- Advanced Stream
- DART
- db
- 코딩테스트
- 자료구조
- spring
- SQL
- SpringBoot
- 프로세스
- jpa
- 메모리
- 프로그래머스
- API
- MongoDB
- nosql
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |