본문 바로가기

CS Knowledge/Data Structure

(2)
자료구조 정리 With JAVA 이번 블로그에서는 자료구조 정리를 자바를 기준으로 해보려고 한다. 우선, 자바의 전체 자료구조를 보면 아래와 같다. 그 중에서도 대표적인 자료구조는 아래와 같다. 1. 선형 자료구조 - 종류 : 연결리스트, 벡터, 배열, 스택, 큐 1-1. 연결 리스트 - 데이터를 감싼 노드를 포인터로 연결한 자료구조 - 삽입, 삭제가 빠르지만, 접근 및 탐색은 느려진다. 시간 복잡도 - 삽입 삭제 : O(1) - 접근, 탐색 : O(N) 싱글 연결 리스트 - next 포인터만 가진다. class Node{ Node next; } 이중 연결 리스트, 원형 이중 연결 리스트 - prev, next 포인터를 가진다. - 원형 이중 연결 리스트는 처음과 끝 노드도 연결한다. class Node{ Node prev; Node ..
자료구조 Basic 이번 블로그에서는 자료구조의 기본적인 내용을 총 정리해보고자 한다. 1. 자료 구조의 정의 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합을 말한다. 알고리즘 문제를 풀다보면 자연스럽게 여러가지 자료구조를 배울 수 있게 된다. 자료구조가 무엇이 있는지 구별하면서 사용을 한다면 좀 더 이해하기 쉽고 알고리즘 해결 능력이 향상될 것이라 믿는다. 2. 복잡도 복잡도는 크게 시간 복잡도와 공간 복잡도로 나뉜다. 쉽게 말해서 복잡도는 해당 알고리즘이 얼마나 시간이 걸리며 얼마나 공간을 차지하는 지를 의미한다. 시간 복잡도 표기법 : 빅오 표기법 공간 복잡도 표기법 : 보통 MB 단위 시간복잡도 속도 빠른 순서 O(1) > O(N) > O(logN) > O(N^2) 3. 선형 자료 구..