일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링
- spring boot
- 자바스크립트
- Test Coverage
- 하이브리드앱
- Java
- 구버전
- JPA
- 어노테이션
- Machine Learning
- ES6
- javascript
- bean
- react
- 자료구조
- log4j2
- 테스트 커버리지
- 스프링 부트
- 제이쿼리
- spring
- C++
- transformer
- 리액트
- annotation
- cache
- AWS
- Deep Learning
- data structure
- kotlin
- jQuery
- Today
- Total
목록○ Programming [Basic]/Data Structure (5)
박서희연구소
1. Hash Table 구조 Hash Table 은 Associative(연관) 방법으로 데이터를 저장하는 자료 구조로 Cache 구현 시 사용하기도 한다. Array 형태로 데이터를 저장하며, 각 데이터 값은 Unique 한 Index 를 갖는다. - 장점 - 원하는 데이터의 Index 만 알고 있다면, 데이터의 접근이 매우 빠름 데이터의 크기와 상관없이 삽입과 검색의 행위가 매우 빠른 자료 구조 Key 에 대한 데이터가 있는지(중복) 확인이 쉬움 - 단점 - 일반적으로 저장 공간이 많이 필요 여러 키에 해당하는 주소가 동일할 경우 Collision(충돌)을 해결하기 위한 별도의 방안이 필요 Hashing 은 Key Value 범위를 Array 의 Index 범위로 변환하는 기술을 말한다. Modul..
1. Linked List 구조 인접하지 않은(떨어진) 곳에 존재하는 데이터를 포인터를 이용하여, 연결해 관리하는 데이터의 구조를 말함 - 구조와 용어 - Node(노드) : 데이터 저장 단위(데이터 값, 포인터)로 구성 Pointer(포인터) : 각 노드 안에서, 다음 혹은 이전의 노드와의 연결 정보를 가지고 있는 공간 - 장점 - 동적 배열이기에 런타임 시, 메모리의 할당 및 해제로 확장 및 축소가 가능하므로 데이터 공간을 미리 할당하지 않아도 됨 엘리먼트(Data) 삭제 후, 따로 이동할 필요없이 다음 포인터의 주소만 업데이트 시켜주면 되므로 관리에 용이함 - 단점 - 연결을 위한 별도의 데이터 공간이 필요하므로, 저장 공간의 효율이 낮아질 수 있음 해당 데이터를 찾으려면, 그 이전의 노드를 모두 ..
1. Stack 구조 Stack 은 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 한 쪽 끝에서만 자료를 넣거나 뺄 수 있으며, 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조임 LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식으로 Queue(큐) 와 순서가 반대 - 기본 조작법 - Push : 데이터를 스택에 넣는 기능 Pop : 데이터를 스택에서 꺼내는 기능 2. Java 에서의 Stack java.util 패키지에서 Stack 클래스 제공 item 을 추가하는 기능으로 push() 메서드 제공 마지막으로 삽입한 item 을 return 하고, 해당 item 을 삭제하는 pop() 메서드 제공 3. Example pu..
1. Queue 구조 Queue 는 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 줄을 서는 행위와 유사함 양쪽의 끝이 열려 있으며, 한쪽의 끝은 데이터를 삽입하고, 다른 한쪽 끝은 데이터를 제거하는 데에 사용함 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First-In, First-Out), LILO(Last-In, Last-Out) 방식으로 Stack(스택) 과는 순서가 반대 - 기본 조작법 - Enqueue : 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 2. Java 에서의 Queue java.util 패키지에서 Queue 인터페이스를 제공함 Queue 데이터를 생성하기 위해서는 LinkedList 클래스를 사용해야 함 Enqueue 에 해당하는..
1. Array(배열) 데이터를 나열하며, 각각의 데이터를 element(요소) 라고 부르며, 해당 element 는 index 를 이용하여 접근이 가능하다. index 는 0 부터 시작 된다. 2. 배열은 왜 사용할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데이터를 순차적으로 저장 장점 : index 를 통해 빠르게 접근 가능 단점 : 데이터 추가 및 삭제의 어려움, 미리 최대 길이를 지정해야 하며, 생성 후에는 고정됨 3. Java 와 배열 1차원 배열은 [] 를 통해 선언할 수 있음 각 item 은 {} 내에 콤마를 사용해 작성 4. Example // new 키워드를 사용하여 배열을 미리 선언한 후에 데이터를 넣을 수 있음 Integer[] sample = new ..