꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

자료구조 4

큐 (Queue)

🐶 큐에 대해서 알아봐요 - 선입선출 자료구조 - First In First Out (FIFO) - 먼저 들어온 데이터가 먼저 나가는 구조 - 입력 순서대로 데이터 처리가 필요할 때 사용 - ex) 프린터 출력 대기열, BFS (Breath-First Search) 등 🐶 큐 기본 연산 - 데이터 추가 (Enqueue) : 큐에 데이터 추가 - 데이터 꺼내기 (Dequeue) : 큐에서 데이터 꺼내기 🐶 java로 queue 흉내내기 import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args) { Queue queue = new LinkedList(); queue.a..

스택 (Stack)

🐶 스택이란 무엇일까요 - 후입선출 자료구조 - Last In First Out (LIFO) - 영어를 풀어보면 마지막에 들어온 데이터가 먼저 나가는 구조입니다. - 데이터가 입력된 순서의 역순으로 처리되어야 할 때 사용합니다. - ex) 함수 콜 스택, 수식 계산, 인터럽트 처리 등 🐶 스택 기본 연산 - 데이터 추가 (push) : 스택의 가장 마지막 위치에 데이터 추가 - 데이터 꺼내기 (pop) : 스택의 가장 마지막 위치에서 데이터 꺼냄 🐶 java의 stack 사용하기 import java.util.Stack; public class Main { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); ..

자료와 자료구조 그리고 알고리즘

✔ 자료란 현실 세계로부터 수집한 사실이나 개념의 값 또는 이들의 집합입니다. 특정 용도로 사용하기 위해 처리하거나 가공한 것을 정보라 합니다. 예를 들어 A반에 각각 90점, 95점, 85점을 받은 세 명의 학생이 있고, B반에 각각 40점, 90점, 100점을 받은 세 명의 학생들이 있다고 생각해봅시다. 여기서 학생들이 받은 점수가 자료가 되며, 만약 반끼리 비교하기 위해 평균을 구했다면, 평균이 정보에 해당합니다. ✔ 자료구조란 자료구조는 자료 값의 모임, 자료 간의 관계, 그리고 자료에 적용할 수 있는 함수나 명령을 의미합니다. 자료는 리스트 구조, 트리 구조 등의 관계를 갖게 됩니다. ✔ 자료구조의 특징 내가 원하는 목적에 맞게 효율적으로 동작합니다. 그리고 추상화가 가능해야 합니다. 추상화란 ..

자료구조와 알고리즘 (정렬) (2)

1.3 선택 정렬 선택 정렬(selection sort)은 배열의 최소값을 검색하여 배열의 왼쪽부터 순차적으로 정렬을 반복하는 정렬 알고리즘입니다. 배열이 미정렬 상태이므로 최솟값 검색에는 이진 검색이 아닌 선형 검색 알고리즘을 사용합니다. 선택 정렬은 버블 정렬보다 빠릅니다. 시간 복잡도: O(n^2) 문제 선택 정렬을 통해 주어진 배열(array)을 정렬하는 함수를 구현하라. 단, 어떠한 빌트인 함수도 사용하지 않고 for 문을 사용하여 구현하여야 한다. function selectionSort(array) { for (let i = 0; i < array.length - 1; i++) { let minIdx = i; for (let j = i + 1; j < array.length; j++) { i..