비선형 자료구조(NonLinear Data Structure) 02. Graph
01. 그래프 정점(Vertex): 그래프의 기본 요소로, 데이터를 저장하는 노드. 각 정점은 고유한 식별자(라벨)를 가진다. 간선(Edge): 정점들을 연결하는 선으로, 두 정점 사이의 관계를 나타냄. 간선은 방향성이 있는 경우도 있고 없는 경우도 있다. 방향 그래프(Directed Graph) vs 무방향...
01. 그래프 정점(Vertex): 그래프의 기본 요소로, 데이터를 저장하는 노드. 각 정점은 고유한 식별자(라벨)를 가진다. 간선(Edge): 정점들을 연결하는 선으로, 두 정점 사이의 관계를 나타냄. 간선은 방향성이 있는 경우도 있고 없는 경우도 있다. 방향 그래프(Directed Graph) vs 무방향...
1. 트리(Tree) 트리: 노드(node)와 간선(edge)으로 이루어진 계층적 자료 구조. 루트(root)에서 시작해 자식 노드로 연결되며, 부모-자식 관계를 가짐. 노드: 트리의 기본 구성 요소. 데이터와 자식 노드들에 대한 참조를 가짐. 루트 노드: 트리의 최상위 노드. 리프 노드: 자식이 없는 노드. ...
1. Bubble Sort 인접한 두 수를 비교하며 정렬 시간복잡도 (최악, 평균, 최선) : $O(n^2)$, $O(n^2)$, $O(n)$ 안정성 o public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i < n - 1; i...
01. 배열(Array) 각 데이터와 인덱스가 1:1 대응 데이터가 메모리 상에 연속적으로 저장 최대 길이를 정해서 생성 import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { ...
특징 플랫폼 독립적: 운영체제 따라 코드를 재 작성하지 않아도 됨 객체 지향적: 절차 지향적 언어에 비해 생산성과 보안성이 높음 실행 과정 자바 소스코드(.java) —(자바 컴파일러)—> 바이트코드(.class) —(Java Virtual Machine)—> 실행 String // %02d 포맷 지정자는 숫자가 한 자릿...
오버라이딩 다형성으로 인터페이스를 구현한 객체를 실행 시점에 유연하게 변경할 수 있다. 클래스 상속 관계도 다형성, 오버라이딩 적용가능 ```java public class MemberService { private MemberRepository memberRepository = new MemoryMemberRepository(); //pri...
퍼셉트론(Perceptron) 퍼셉트론은 Frank Rosenblatt가 1958년에 고안한 인공 신경망의 기본 형태로, 이진 분류 문제를 해결하기 위한 모델입니다. 구성 요소 입력(Input): 예를 들어 \( x_1, x_2, \ldots, x_n \)과 같은 입력 값들. 가중치(Weights): 각 입력 \( x_i \)에 대응하는 가...
정방행렬(Square matrix) 정방행렬은 행의 수와 열의 수가 동일한 행렬을 의미합니다. 즉, \( n \times n \) 크기를 가진 행렬을 정방행렬이라고 합니다. 여기서 \( n \)은 행렬의 차원을 나타냅니다. 정방행렬은 선형대수학에서 특히 중요한 역할을 하며, 몇 가지 주요한 수학적 성질과 연산이 정방행렬에 대해 정의되거나 적용됩니다...
Seaborn import seaborn as sns import pandas as pd #https://www.kaggle.com/code/gkhan496/visualizing-pok-mon-stats-with-seaborn-hw/input df = pd.read_csv('./Pokemon.csv', index_col=0) df.sample(6) ...
Matplotlib import numpy as np import matplotlib.pyplot as plt %matplotlib inline #x와 y의 리스트 크기는 동일해야 함. x=np.array([0,1,6,8]) y=np.array([0,3,8,10]) plt.plot(x,y) plt.show() plt.plot(y) plt.show...