본문 바로가기

반응형

Programming/Data Structure

(25)
Queue interface List란? (Deque, LinkedList, ArrayDeque, PriorityQueue) Queue 큐 interface List란? - Queue interface는 선형 자료구조로 주로 순서가 있는 데이터를 기반으로 선입선출(FIFO)을 위해 만들어진 인터페이스이다. - 제일 앞쪽의 데이터 위치를 head라고 하고, 가장 뒤에 있는 것을 tail 이라고 한다. - Queue는 단방향 삽입삭제가 가능한 반면, Queue를 상속하고 있는 Deque은 양방향이 가능하다. (큐에서 확장)- - Deque은 카드를 생각하면 좋다. 중간에서 카드를 뺄 수는 없지만, 맨 아래, 맨 위에서 접근이 모두 가능하다. Queue Deque interface 를 구현하는 클래스 1. LinkedList 2. ArrayDeque 3. PriorityQueue Queue / Deque interface에 선언된 ..
List 리스트 자료구조란? (ArrayList, LinkedList, Vector, Stack) List - List Interface는 대표적인 선형자료구조다. - 우리가 보통 알고 있는 고정값을 주는 배열구조는 선언한 배열의 크기 이상으로 나아가면 IndexOutofBoundExcpetion이라는 예외가 뜬다. - 이를 보완하여 나온 것이 List interface를 통해 구현된 클래스들이다. - 이들은 동적 크기를 가지고 배열처럼 사용할 수 있게 되어있다. List Interface를 구현하는 클래스 1. ArrayList 2. LinkedList 3. Vector (+Vector를 상속받은 Stack) List Interface의 대표적인 메소드 ArrayList - Object[] 배열을 사용하여 primitive 배열 (int[])와 유사한 형태라고 볼 수 있지만, 동적으로 관리되는 배열..
자바 컬렉션 프레임워크 자료구조와 알고리즘 - 알고리즘을 선택할 때, 자료구조를 알고 있는 것이 상당히 도움이 된다. - LinkedList : 순서가 있는 데이터에서 삽입과 삭제가 빈번하게 발생할 때 - ArrayList : 그렇지 않을 때 - 자료구조는 프로그래밍의 기초이기 때문에 표준 라이브러리가 보통 제공 선형구조와 비선형구조 자료구조 - 형태에 따른 자료구조 선형구조(Linear Data Structure) - 데이터가 일렬로 연결된 형태 - 리스트, 큐, 덱이 있다. 비선형구조(NonLinear Data Structure) - 일렬로 나열된 것이 아니라, - 거미줄처럼 각 요소가 서로 연결된 형태 - 그래프, 트리 집합(Set) - 집합은 기타 자료구조 또는 집합 자료구조라고 한다. - set은 table과 가까운 ..
Java reverse array // Iterative java program to reverse an // array public class reverse { /* Function to reverse arr[] from start to end*/ static void rvereseArray(int arr[], int start, int end) { int temp; while (start < end) { temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } } /* Utility that prints out an array on a line */ static void printArray(int arr[], int size) { for (int i = ..
포인터 배열 구조체 - 배열 : 같은 데이터 타입을 갖는 요소들의 집합 - 구조체 : 서로 다른 데이터 타입을 갖는 여러 요소들을 하나의 묶음으로 표현, 각 요소가 타입과 이름을 가진다. - 변수 : 프로그램에서 사용되는 값을 저장하기 위한 컴퓨터 메모리상의 일정 영역 - 포인터 (변수): 어떤 변수의 위치를 참조, 변수의 주소 값을 저장함. - 포인터 변수에는 주소값만을 저장할 수 있음. - 포인터 변수는 스택에 저장됨.
스택과 힙의 차이 스택 : 정적 메모리 힙 : 동적 메모리 스택은 함수, 지역변수, 매개변수가 저장되며 LIFO 방식으로 관리된다. 힙은 전역변수를 다루고, 사용자가 직접 관리해야 하는 메모리 영역이다.
Array Introduction for Java Array's Size - In C language, array has a fixed size meaning once the size is given to it, it cannot be changed i.e. you can’t shrink it neither can you expand it. Advantages of using arrays: - Arrays have better cache locality that makes a pretty big difference in performance. - Arrays represent multiple data items of the same type using a single name. Disadvantages of using arrays: - You can’t..
스택과 큐(Stacks and Queues) 알고리즘 스택(Stack) 스택은 배열이 가진 구조와 동일하지만, 특정한 규칙이 적용된 자료구조의 형태이다. LAST IN FIRST OUT (LIFO) 구조 (팬케이크 구조) 예로 크롬에서 뒤로가기 버튼을 누르는 것이 스택구조를 사용하고 있는 것이다. 사용자의 행위를 모두 스택에 저장해두었다가 빼내면서 사용하는 것이다. 큐(Queue) FIRST IN FIRST OUT (FIFO) 선입선출

반응형