본문 바로가기

728x90
반응형

분류 전체보기

(78)
[JAVA] LinkedList란? ArrayList와 LinkedList 모두 Java에서 제공하는 List 인터페이스를 구현한 Collection 구현체이다. ArrayList는 배열을 사용해서 List를 구현한 클래스이다. ArrayList와 다르게 LinkedList는 각각의 노드를 연결하는 방식을 사용한다 ArrayList는 한 덩어리의 큰 배열을 사용하는 방식이다. LinkedList는 양방향 연결 리스트로 구현되어 있다. 각각의 데이터가 노드(Node)로 구성되어 연결되는 구조이다. 각각의 노드는 데이터와 함께 next(다음 노드)와 prev(이전 노드) 값을 내부적으로 가지고 있다. 일반적으로 LinkedList의 장점은 데이터를 추가하거나 삭제하는 것이 원활하다는 것이다. 어느 위치에서든 추가나 삭제를 할 경우 변경되는 노..
[Algorithm] 너비 우선 탐색(BFS, Breadth-First Search) 너비 우선 탐색이란? 루트 노드 (혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법 시작 노드로부터 가까운 노드를 먼저 방문하고 떨어져 있는 정점을 나중에 방문하는 순회 방법 즉, 깊게(deep) 탐색 하기 전 넓게(wide) 탐색하는 방법 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 이방법을 사용한다 너비 우선 탐색(BFS)의 특징 직관적이지 않을 수 있다 시작 노드에서 시작해 거리에 따라 단계별로 탐색한다 BFS 재귀적으로 동작하지 않는다 그래프 탐색의 경우 어떤 노드를 방문했었는지 여부를 반드시 검사 해야 한다 이를 검사하지 않으면 무한 루프에 빠질지도 모른다 BFS는 방문한 노드들을 차례로 저장한 후 꺼낼 수 있는 자료구조 인 큐(Queue)를 사용한다 선입선..
[JAVA] ArrayList란? ArrayList란? 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나이다. ArrayList는 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인덱스는 0부터 시작한다. 배열과의 차이점은 배열은 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변한다 내부적으로 저장이 가능한 메모리 용량(Capacity)이 있으며 현재 사용 중인 공간의 크기(Size)가 있다. 만약 현재 가용량(Capacity) 이상을 저장하려고 할 때 더 큰 공간의 메모리를 새롭게 할당한다. 객체들이 추가되어 저장 용량(Capacity)를 초과한다면 자동으로 부족한 크기만큼 늘어난다는 특징을 갖는다 ArrayList 생성 import java.util.ArrayList; ... ArrayList integers1..
Intellij 한글 깨짐 (인코딩 에러) 인텔리제이에서 개발을 하던 중 한글 깨지는 문제가 종종 발생하곤 한다. 해당 문제를 반복적으로 겪지 않기 위해 처음 설정 할 때, 인코딩 설정을 제대로 해놓기 위해 한글 깨짐 문제를 해결하는 방법에 대한 포스팅을 하려고 한다. 해당 문제는 다양한 방법을 통해 해결할 수 있는데 각각의 단계를 실행 후 인텔리제이를 재시작 했을 때, 한글이 깨지지 않고 제대로 나온다면 다른 과정은 생략해도 좋다 1. File -> Setting -> Editor -> File Encodings Global Encoding, Project Encoding, Default encoding for properties files를 모두 UTF-8로 설정해준다. Transparent native-to-ascii conversion은 ..
Git 설치하기(Windows) 깃 홈페이지 주소 : https://gitforwindows.org/ 1. 깃 홈페이지에 접속하여 다운로드 2. exe 실행파일 다운로드 완료되면 실행시켜서 설치 3. 바탕화면이나 폴더 안에서 우클릭 했을 때, Git GUI Here , Git Bash Here 생기면 설치 완료
드디어 시작! 개인 기술 블로그입니다. 궁금한 내용이나 잘못된 내용이 있다면 언제든지 피드백 해주시면 지속적으로 업데이트 할 예정입니다. 많은 피드백 부탁드립니다~

728x90
반응형