Computer Science/DataStructure

Computer Science/DataStructure

[DataStructure] 해쉬 테이블(HashTable)이란 feat. Java

이전에 해쉬란 무엇인가에 대해서 정리를 하였지만, 또 정리를 더 자세하게 해보고 이번 포스팅에서는 직접 기능까지 구현해보자 https://superohinsung.tistory.com/113 [Algorithm] Hash(해시) 란 Hash 란? 해시란 임의의 크기를 가진 데이터(Key)를 고정된 크기의 데이터(Value)로 변화시켜 저장하는 것이다. 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 superohinsung.tistory.com 해쉬 테이블 이란 키(Key)에 데이터(Value)를 매핑할 수 있는 데이터 구조이다. 해쉬 함수를 통해, 배열에 키에 대한 데이터를 저장할 수 있는 주소(인덱스 번호)를 계산할수 있으며, Key를 통해 바로 데이터가 저장되어 ..

Computer Science/DataStructure

[DataStructure] Java에서 큐(Queue) 사용하기.

이번에는 자바에서 큐를 사용해보자. 이전에 큐는 무엇인가에 대하여 공부했다. https://superohinsung.tistory.com/178 [DataStructure] 큐(Queue) feat. C, Java 자료구조 큐에 대해서 정리를 해보자. 큐(Queue)란 큐(Queue)는 컴퓨터 과학에서 사용되는 선형적 자료구조 중 하나이다. 큐는 데이터를 일시적으로 저장하거나 관리하는데 사용되며, 데이터를 먼 superohinsung.tistory.com Java Queue 클래스 java.util 패키지에서 Queue 클래스 제공 메서드 소개 boolean add(E e): 큐의 끝에 요소를 추가한다. 큐가 가득 찬 경우 예외(IllegalStateException)를 발생시킨다. boolean off..

Computer Science/DataStructure

[DataStructure] Java에서 스택(Stack) 사용하기.

이번에는 자바에서 스택을 사용해보자. 이전에 스택이 무엇인가에 대하여 공부했다. https://superohinsung.tistory.com/177 [DataStructure] 스택(Stack) feat. C, Java 자료구조 스택에 대해서 정리를 해보자. 스택(Stack)이란 스택(Stack)은 컴퓨터 과학에서 사용되는 선형 자료구조 중 하나이다. 스택은 데이터를 일식적으로 저장하거나 관리하는데 사용되며, 데이 superohinsung.tistory.com JAVA Stack 클래스 java.util 패키지에서 Stack 클래스 제공 메서드 소개 push(item) : item을 Stack에 추가한다. pop() : Stack 에서 마지막에 넣은 아이템을 리턴하고, 해당 아이템은 Stack에서 삭제한..

Computer Science/DataStructure

[DataStructure] 큐(Queue) feat. C, Java

자료구조 큐에 대해서 정리를 해보자. 큐(Queue)란 큐(Queue)는 컴퓨터 과학에서 사용되는 선형적 자료구조 중 하나이다. 큐는 데이터를 일시적으로 저장하거나 관리하는데 사용되며, 데이터를 먼저 집어넣은 것이 먼저 꺼내지는 "First-In, First-Out"(FIFO) 방식으로 동작한다. 큐는 일상생활에서 줄을 서서 기다리는 것과 유사한 개념으로 이해할 수 있다. 가장 먼저 줄을 선 사람이 가장 먼저 서비스를 받는 것과 같이, 큐에 데이터를 추가한 순서대로 데이터가 처리된다. 큐의 주요 연산 Enqueue : 큐에 데이터를 추가하는 연산이다. 새로운 데이터가 큐의 뒤쪽에 추가된다. Dequeue : 큐에서 데이터를 꺼내는 연산이다. 큐의 맨 앞의 데이터가 삭제되고 반환된다. Front 또는 Pe..

Computer Science/DataStructure

[DataStructure] 스택(Stack) feat. C, Java

자료구조 스택에 대해서 정리를 해보자. 스택(Stack)이란 스택(Stack)은 컴퓨터 과학에서 사용되는 선형 자료구조 중 하나이다. 스택은 데이터를 일식적으로 저장하거나 관리하는데 사용되며, 데이터를 쌓아 올리거나 데이터를 순서대로 꺼내는 작업을 수행할 수 있다. 이러한 작업은 "Last-In, First-Out" (LIFO) 방식으로 동작한다. 마지막으로 삽입된 데이터가 가장 먼저 상제되는 구조를 가지고 있다. 스택은 일상 생활에서 책을 쌓아 올리거나 동전을 쌓아놓는 것과 유사한 개념으로 이해할 수 있다. 책을 쌓으면 가장 위에 샇인 책이 먼저 빠지게 되고, 동전을 쌓아놓으면 가장 마지막에 쌓은 동전이 가장 먼저 나오게 된다. 스택의 주요 연산 Push : 스택에 데이터를 넣는 연산이다. 새로운 데이..

Computer Science/DataStructure

[DataStructure] 배열 (Array) 정리 feat. Java

배열 (Array) 이란 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조이다. 배열은 반복문 등을 이용하여 계산과 같은 과정을 쉽게 처리할 수 있습니다. 배열은 고정된 갯수의 데이터를 저장하는데 사용되는 자료구조이며, 배열의 길이는 배열이 생성될때 설정이 됩니다. 배열의 각 항목을 요소라고 하며, 각 요소는 숫자 인덱스에 의해 접근을 할 수 있습니다. 다만, 파이썬에서는 리스트 타입이 배열 기능을 제공한다. 배열은 왜 필요할까? 같은 종류의 데이터를 효율적으로 관리하기 위해서 사용 같은 종류의 데이터를 순차적으로 저장 // new 키워드를 사용해서, 배열을 미리 선언하고, 데이터를 넣을 수도 있음 Integer[] data_list = new Integer[10]; data_lis..

Computer Science/DataStructure

[DataStructure] Array & ArrayList & LinkedList (JAVA) 정리

Array (배열) 배열이란 같은 데이터 타입의 변수들로 이루어진 자료구조로, 자바에서 기본적으로 지원하는 자료 구조이다. 배열을 구성하는 각각의 값은 요수 혹은 원소(element)라고 부릅니다. 배열에서의 위치를 가리키는 숫자는 인덱스(Index)라고 부릅니다. 대부분의 언어에서 배열의 인데스는 0부터 시작하며, 자바에서도 0부터 시작한다. 대부분의 언어에서 배열의 인덱스는 0부터 시작하며, 자바에서도 0부터 시작한다. 참고로 파이썬의 경우 배열과 비슷한 list에서 리스트 맨 끝의 원소를 가리키는 인데스 -1도 존재하는데, Java에서는 배열의 인덱스는 0을 포함한 양의 정수만 가질 수 있다. 배열은 참조 객체이므로 배열을 가리키는 참조 변수는 스택영역에 할당되며, 이 참조 변수가 가리키고 있는 주..