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

학습 키워드- 공부한 내용빅오 복잡성 차트(Big-O Complexity Chart)💡 빅오 표기법을 이용하여 알고리즘의 시간 복잡도를 분석하면, 입력 크기가 커질 때 어떤 알고리즘이 더 효율적인지 비교할 수 있다.https://www.bigocheatsheet.com/표기법 이름 시간 복잡도 설명 예시O(1)상수상수 시간입력 크기와 상관없이 일정한 실행 시간을 가집니다.배열에서 원소 하나 찾기O(logn)로그로그 시간입력 크기가 증가함에 따라 실행 시간이 로그함수의 형태로 증가합니다.이진 탐색 알고리즘O(n)선형선형 시간입력 크기와 비례하는 실행 시간을 가집니다.선형 탐색 알고리즘O(nlogn)로그 선형선형 로그 시간입력 크기가 증가함에 따라 실행 시간이 로그함수와 선형 함수의 곱의 형태로 증가합니..

학습 키워드- Big-O 표기법 공부한 내용시간복잡도**(Time Complexity)**알고리즘이 실행될 때 필요한 ‘입력값’과 ‘연산 수행 시간’에 따라 효율적인 알고리즘을 나타내는 척도를 의미한다.즉, 입력 값이 커질수록 알고리즘의 수행 시간이 어떻게 증가하는디에 따른 지표를 의미한다.시간 복잡도는 ‘빅오 표기법(Big-O notation)’를 통해 표현하며, ‘수치가 작을수록 효율적인 알고리즘’을 의미한다.공간 복잡도(Space Complexity)알고리즘이 실행될 때 필요한 ‘메모리의 공간의 양’을 의미한다.즉, 알고리즘의 효율성을 판단하는 데 사용되며 일반적으로 메모리 사용량이 적을수록 더 효율적인 알고리즘이라고 할 수 있다.공간 복잡도는 일반적으로 알고리즘의 시간 복잡도와 함께 고려되며 알고..

학습 키워드- 우선순위 큐(PriorityQueue) 공부한 내용우선순위 큐 선언 방법// 낮은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue();// 높은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue(Collections.reverseOrder());//String형 priorityQueue 선언 (우선순위가 낮은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(); //String형 priorityQueue 선언 (우선순위가 높은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(Collections.reverseOrder());우..

학습 키워드- 우선순위 큐(PriorityQueue) 공부한 내용우선순위 큐(PriorityQueue)큐 자료구조는 선입선출(FIFO) 방식이다.우선순위 큐는 들어간 순서와 상관없이 높은 우선순위를 가진 원소가 먼저 나온다는 특징을 가진다.Heap을 이용하여 구현하는 것이 일반적이다.데이터 추출 시, 루트 노드를 얻어 루트 노드를 삭제할 때는 빈 루트 노드 위치에 맨 마지막 노드를 삽입 후 아래 노드로 내려가면서 정렬하는 방식으로 진행된다.숫자가 작을수록 먼저 나오는 큐를 최소힙(Min Heap)이라 하고,숫자가 클수록 먼저 나오는 큐를 최대힙(Max Heap)이라고 한다.우선순위 큐(Heap) 특징 및 시간 복잡도특징높은 우선순위의 요소를 먼저 꺼내서 처리하는 구조이다.→ 우선순위 큐에 들어가는 원소는..

학습 키워드- Graph 공부한 내용그래프 구현 방법그래프는 여러 형태로 구현될 수 있다.주요한 구현 방법에는 인접 행렬(Adjacency Matrix)과 인접 리스트(Adjacency List)가 있다.두 가지 구현 방법 중 대부분 인접 리스트 방식을 많이 사용한다.인접 행렬(Adjacency Matrix)2차원 배열을 사용해 그래프를 표현한다.(2차원 배열에 저장한다.)배열의 요소는 노드 사이의 연결 여부를 나타낸다.아래와 같은 그림에서 연결된 vertex는 숫자 '1'이 데이터로 들어가고 연결되지 않은 vertex는 숫자 '0' 혹은 음수가 들어가게 된다. → 다른 노드와 인접 정점이라면 1, 아니면 0을 넣어준다.그래프에 간선이 많이 존재하는 **밀집 그래프(Dense Graph)**의 경우 사용..

학습 키워드- Graph 공부한 내용그래프 Graph 그래프는 객체 또는 개체 간의 관계를 표현하는 자료구조이다.그래프(Graph)는 정점(Vertex)의 집합 V와 간선(Edge)의 집합 E로 구성된 비선형 데이터 구조다.그래프는 노드(Node)와 노드 사이를 연결하는 간선(Edge)으로 구성된다.+ 노드(정점, Vertex) : 일반적으로 개별적인 개체나 개념+ 간선 : 노드 사이의 관계+ 그래프에서 자주 사용하는 용어vertex(정점): 노드(Node)라고도 하며 정점에는 데이터가 저장된다.edge(간선): 링크(arcs)라고도 하며 선을 통해 노드간의 관계를 나타낸다.adjacent vertex(인접 정점): 하나의 정점에서 edge에 의해 직접적으로 연결된 정점을 나타낸다.degree(차수): ..