그래프 정점(Vertex, Node) : 데이터를 나타내는 값 간선(Edge) : 정점과 정점을 연결해주는 선 및 사이 관계 차수(Defree) : 하나의 정점에서 연결되어있는 간선의 갯수 그래프와 트리의 차이는 방향성의 차이이다. 그래프는 양방향과 단방향 그래프가 존재하지만 트리는 부모에서 노드로의 단방향만 존재한다. 다음과 같은 그래프를 인접행렬로 나타내는 방법 무방향 그래프 # 1. 넓이 5*5 , 7개의 입력값이 주어진다고 했을때 graph = [[0]*5 for _ in range(5)] for _ in range(7): x, y = map(int,input().split()) graph[x-1][y-1] +=1 # 입력값을 1~5로 받았을때 index error 처리 graph[y-1][x-1..
자바 상속의 특징 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 사용하면 적은 양의 코드로 새로운 클래스를 생성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다. super 키워드 super는 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는 데 사용되는 참조변수이다. 다음과 같이 동일한 이름의 멤버변수가 있다면 super를 사용해서 구분해준다. 매소드 오버라이딩 자바에서는 메서드 오버라이딩을 통해 상속받은 부모 클래스의 메서드를 자식 클래스에서 직접 재정의할 수 있다. class Parent { void display() { System.out.println("부모 클래스의 display() 메소드입니다."); } } class C..
클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메서드 정의하는 방법 생성자 정의하는 방법 클래스 정의하는 방법 클래스의 의미 변수 : 하나의 데이터를 저장 배열 : 같은 종류의 여러 데이터를 하나의 집합으로 저장 구조체 : 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장 클래스 : 데이터와 함수의 결합 (구조체 + 함수) 클래스 정의하는 방법 class Time{ int hour; // 인스턴스 변수 int minute; int second; static String clokc = "Rolex"; // 클래스 변수 (static, 공유 변수) void method(){ int hour = 0; // 지역 변수 } } 변수의 종류 선언위치 생성시기 클래스 변수 클래스 영..
오늘은 링크드리스트를 자바로 구현해보았다. Linked List public class Node { public int data; public Node next; public Node(int data) { this.data = data; this.next = null; } } public class LinkedList { private Node head; public LinkedList() { this.head = null; } // 데이터 추가 public void add(int data) { Node newNode = new Node(data); Node current = head; if (head == null) { head = newNode; } else { while (current.next !..