일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열
- cs 공부)준비
- HTML
- GIT
- Java
- 항해99
- 이진 탐색(binary search)
- 자료구조
- 99클럽
- Spring
- 개발자 취업
- 코딩공부
- 정렬 알고리즘(sort algorithm)
- aop
- CS
- 코딩테스트 준비
- 코딩문제
- github
- 코딩
- 회고
- css
- Entity
- 면접(java
- Grafana
- Til
- wil
- ArrayList
- 자바
- 메서드
- 프로그래머스
- Today
- Total
목록자료구조&알고리즘 (31)
hayu's 개발 일지

학습 키워드- Deque 공부한 내용Deque 메서드 Deque 값 추가deque.addFirst(); // Deque의 앞쪽에 데이터를 삽입, 용량 초과시 Exceptiondeque.offerFirst(); // Deque의 앞쪽에 데이터를 삽입 후 true, 용량 초과시 falsedeque.addLast(); // Deque의 뒤쪽에 데이터를 삽입, 용량 초과시 Exceptiondeque.add(); // addLast()와 동일deque.offerLast(); //Deque의 뒤쪽에 데이터를 삽입 후 true, 용량 초과시 falsedeque.offer(); // offerLast()와 동일deque.push(); // addFirst()와 동일deque.pop(); // removeFirst()..

학습 키워드- Deque 공부한 내용DequeDeque는 Double Ended Queue의 양방향 대기열이라고도 불리는 자료구조이다.양방향으로 열려있는 구조로 Queue와 외형적으로 비슷한 구조이다. 그러나 Deque는 Stack과 Queue와 달리 LIFO, FIFO와 같은 순서에 구속되지 않는다.Deque 특징Stack 및 Queue를 모두 사용할 수 있다.Deque는 양쪽으로 데이터를 추가하고 삭제할 수 있어서 Stack과 Queue를 구현할 수 있다. 추가와 삭제를 양쪽에서 제어할 수 있어서 여러 형태로 사용할 수 있다.추가를 제한하는 구조한쪽에서만 데이터 추가가 가능하고 삭제는 양방향에서 가능하게 구현한다면 아래와 같은 구조가 된다.데이터 추가의 방향이 정해진 상태가 된다. 왼쪽으로 삭제하는 ..

학습 키워드ArrayList vs LinkedList 공부한 내용ArrayList vs LinkedListLinkedList가 각기 노드를 두고 주소 포인터를 링크하는 식으로 자료를 구성한 이유는 ArrayList가 배열을 이용하여 요소를 저장함으로써 발생하는 단점을 극복하기 위해 고안되었기 때문이다.ArrayList LinkedList컬렉션 구성배열을 이용노드를 연결 (linked)데이터 접근 시간모든 데이터 상수 시간 접근위치에 따라 이동시간 발생삽입 / 삭제 시간삽입/삭제 자체는 상수 시간삽입/삭제 자체는 상수 시간삽입 / 삭제 시간삽입/삭제 시 데이터 이동이 필요한 경우 추가시간 발생삽입/삭제 위치에 따라 그 위치까지 이동하는 시간 발생리사이징 필요공간이 부족할경우 새로운 배열에 복사하는 추가 시..

학습 키워드- 트리(Tree) 공부한 내용Tree트리(Tree)는 계층적인 구조를 나타내는 비선형 자료구조로 그래프(Graph)의 특수한 형태이다.트리는 노드(Node)와 간선(Edge)으로 이루어져 있다.→ 트리는 하나의 루트 노드를 가지고 있으며, 각 노드는 0개 이상의 자식 노드를 가질 수 있다. 이러한 구조로 인해 데이터를 계층적으로 표현할 수 있다.트리의 주요 개념과 용어노드(Node) : 트리의 기본 단위로 데이터를 저장하는 요소이다. 각 노드는 부모 노드와 하위 노드(자식 노드)를 가질 수 있다.루트(Root) : 트리의 맨 위에 있는 노드로 다른 모든 노드는 루트를 향해 이어진 경로를 가진다. 트리는 하나의 루트 노드만을 가진다.루트 노드 : 트리의 시작 노드로 부모가 없는 최상위 노드이다..

학습 키워드- HashMap 공부한 내용HashMap 사용(메서드) HashMap 선언HashMap을 생성하려면 키 타입과 값 타입을 파라미터로 주고 기본생성자를 호출한다.HashMap은 저장공간보다 값이 추가로 들어오면 List처럼 저장공간을 추가로 늘리는데 List처럼 저장공간을 한 칸씩 늘리지 않고 약 두배로 늘린다.→ 이 때, 과부하가 많이 발생한다.⇒ 초기에 저장할 데이터 개수를 알고 있다면 Map의 초기 용량을 지정해주는 것이 좋다. HashMap map1 = new HashMap();//HashMap생성 HashMap map2 = new HashMap();//new에서 타입 파라미터 생략가능 HashMap map3 = new HashMap(map1);//m..

학습 키워드- HashMap 공부한 내용HashMapHashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다.Map 인터페이스를 상속하고 있기 때문에 Map의 특징을 가지고 있다.HashMap은 데이터를 저장할 때 키(Key)와 값(Value)이 짝을 이루어 저장된다. (여기서 키와 값은 모두 객체이다.)데이터를 저장할 때는 키(Key)로 해시함수를 실행한 결과를 통해 저장위치를 결정한다.⇒ HashMap은 특정 데이터의 저장위치를 해시함수를 통해 바로 알 수 있기 때문에 데이터의 추가, 삭제, 특히 검색이 빠르다.HashMap은 키(Key)값을 통해서만 검색이 가능하며, HashMap의 키(Key)는 중복될 수 없고, 값(Value)은 키(Key)가 다르다면 중복이 가능하다. 만약 기존에 ..