일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ArrayList vs LinkedList
- hash
- dfs
- Java
- stack
- Leedcode
- sorting
- VCS
- graph
- Bellman-Ford
- 구현
- python3
- array
- greedy
- Easy
- DailyLeetCoding
- Medium
- String
- Union Find
- 광연자동차운전면허학원
- 자료구조
- SinglyLinkedList
- heap
- A* Algorithm
- leetcode
- hash table
- Hashtable
- BFS
- Two Pointers
- LinkedList
- Today
- Total
목록분류 전체보기 (88)
Min IT's Devlog
제1절 성능 데이터 모델링의 개요 성능 저하 요인 1) 데이터 모델 구조 2) 데이터가 대용량이 되는 경우 3) 인덱스 특성을 충분히 고려하지 않고 인덱스 생성하는 경우 성능 => 보통 데이터조회의 성능을 의미 - 데이터입력/수정/삭제는 일시적이며 빈번하지 않고 단건 처리가 많으나 데이터조회의 경우 반복적이고 빈번하며 여러 건을 처리하는 경우가 많음. - 일반적으로 트랜잭션의 성격이 조회의 패턴이나 업무에 따라서는 입력/수정/삭제의 성능이 중요한 경우도 존재 성능 데이터 모델링 - DB 성능향상 목적으로 설계단계의 데이터 모델링 때부터 정규화,반정규화,테이블통합, 테이블분할,조인구조,PK,FK등 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 수행시점 - 분석/설계 단계 => 성능저하에 ..
제1절 데이터 모델의 이해 모델링 - 다양한 현상을 일정한 표기법에 의해 규칙을 가지고 표기하는 것 특징 - 추상화(일정한 형식에 맞추어 표현) - 단순화(약속된 규약에 따른 제한된 표기법을 사용하여 쉽게 이해) - 명확화(누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 현상 기술) 데이터 모델링 - 정보 시스템 구축을 위해. 해당 업무에 어떤 데이터가 존재하는지 업무가 필요로 하는 정보가 무엇인지 분석하는 방법 목적 - 정보시스템 구축 대상이 되는 업무내용 분석 (약속된 표기법 사용) - DB를 구축하기 위한 분석/설계의 과정 + 그 자체로도 업무를 설명하고 분석 기능 - 시스템 가시화 - 시스템 구조와 행동 명세화 - 시스템 구축하는 구조화된 틀 제공 - 시스템 구축과정에서 결정한 사항을 문서화 ..
Deque 선형 자료구조 컨테이너의 양쪽 끝에서 삽입과 제거가 이루어지는 스택과 큐를 합쳐놓은 자료구조 Deque에는 일반적인 Deque와 한쪽에서만 입력하도록 제한된 Scroll Deque, 한쪽에서만 제거하도록 제한된 Shelf Deque가 있다. 멤버변수: rear, head( element가 삽입되거나 제거되는 위치) Deque 사용법 import java.util.Deque 자바는 java.util.Deque interface로 Queue를 제공하고 있다. Deque 선언 Deque deque = new LinkedList(); // Deque를 구현한 linkedlist class 이용 Deque deque1 = new ArrayDeque(); // Deque를 구현한 ArrayDeque cl..
Queue 선형 자료구조 한쪽 끝에서만 삽입이 이루어지고 다른 한쪽 끝에서는 삭제이 이루어지는 FIFO구조의 자료구조 Queue에는 선형 큐,원형큐, 링크드리스트 큐, 우선순위큐 등의 종류가 존재한다. 컴퓨터의 버퍼에서 사용하는 형태 멤버변수: rear(새로운 element가 들어가는 위치) head(element가 나가는 위치) Queue 사용법 import java.util.Queue; 자바는 java.util.Queue 인터페이스로 Queue를 제공하고 있다. Queue 선언 Queue queue = new LinkedList(); // linkedlist를 이용한 Queue 사용법 Queue 자체는 인터페이스이기 때문에 LinkedList를 이용하여 Queue를 선언해야 한다. Queue 메서드 ..
Stack 선형 자료구조 한 쪽 끝에서 자료를 넣고 뺄 수 있는 LIFO구조의 자료구조 사용 분야: 함수 호출 순서의 제어, 인터럽트 처리, 수식 계산, 재귀적 문제를 동적 프로그래밍 방식으로 해결 멤버변수: top(현재 위치) Stack 사용법 import java.util.Stack; 자바는 java.util.Stack Class를 통해 Stack을 제공하고 있다. Stack 선언 Stack s = new Stack(); Stack의 경우 생성자가 하나뿐이다. Stack 메서드 데이터 삽입 stack.push(E element); // element를 stack의 top에 추가 데이터 삭제 stack.pop(); // 스택의 제일 위에 있는 element를 반환하고 스택에서 제거 데이터 검색 stac..
지금까지 ArrayList와 LinkedList의 특징과 장단점, 구현까지 해보았다. [Java] ArrayList 사용과 구현 ArrayList List 인터페이스를 상속받은 클래스 일반적인 배열과 동일하게 연속적인 공간을 사용하고 인덱스 또한 0부터 시작된다. 인덱스를 통한 임의접근이 가능하다 객체가 추가되면서 현재 가 minit-devlog.tistory.com [Java] LinkedList 사용과 구현 LinkedList List 인터페이스를 상속받은 클래스 연속적인 공간을 사용하지 않고 모든 데이터가 노드(데이터 + 주소)로 구성되어있다. index가 없기 때문에 임의접근이 불가능하다. Singly LinkedList(data + n minit-devlog.tistory.com Collecti..
LinkedList List 인터페이스를 상속받은 클래스 연속적인 공간을 사용하지 않고 모든 데이터가 노드(데이터 + 주소)로 구성되어있다. index가 없기 때문에 임의접근이 불가능하다. Singly LinkedList(data + nextNode주소) , Doubly LinkedList(prevNode주소 + data + nextNode주소) 자바에서는 LinkedList는 Doubly LinkedList로 구현되어 있다. 데이터의 순서가 있으며 동일 데이터에 대한 중복 저장을 허용한다. LinkedList 멤버변수: size(들어있는 element 개수), head(시작 node주소), tail(마지막 node주소) LinkedList 사용법 import java.util.LinkedList; 자바..
ArrayList List 인터페이스를 상속받은 클래스 일반적인 배열과 동일하게 연속적인 공간을 사용하고 인덱스 또한 0부터 시작된다. 인덱스를 통한 임의접근이 가능하다 객체가 추가되면서 현재 가용량(capacity)을 넘어선다면 자동으로 크기가 늘어나는 특징을 가진다. (가변적) List이기에 데이터 순서가 있으며 동일 데이터에 대한 중복 저장을 허용한다. ArrayList 0 1 2 3 4 멤버변수: capacity(용량), size(들어있는 element 개수) ArrayList 사용법 import java.util.ArrayList; 자바는 java.util.ArrayList Class를 통해 ArrayList를 제공하고 있다. ArrayList 선언 ArrayList al = new ArrayL..