목록전체 글 (462)
코드네임 :

Kruskal AlgorithmStep1) 그래프에 존재하는 모든 간선들을 가중치 순으로 나열Step2) 그래프 내 정점이 모두 이어질 때까지 가중치가 낮은 간선 순으로 선택- 얘 또한 cycle 형성되면 버림- n-1개의 간선이 선택되면 알고리즘 종료 Kruskal Algorithm의 구현- 가중치 '순서'로 나열 -> sort 함수 이용 - cycle 형성 여부 판단법⬇️집합으로 표현 - 같은집합을 이루는 것 표현방법 https://github.com/codenameVien/DataStructure/blob/main/KruskalAlgorithm.ipynb DataStructure/KruskalAlgorithm.ipynb at main · codenameVien/DataStructureContri..

Greedy Algorithm: 여러 개 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택 Prim AlgorithmStep1) 임의의 정점에서 가장 적은 비용으로 자신에게 이을 수 있는 정점을 선택 ( 비용 적은 걸로 이음)Step2) 만들어진 '트리'에서 가장 적은 비용으로 트리에 이을 수 있는 정점을 선택 ( 현재 만들어진 트리 전체를 봐야함요 )Step3) 반복하여 MST (정점을 모두 연결, cycle 없음) 만듦 Prim Algorithm의 구현- 아직 연결되지 않은 노드들에 대해서 연결 비용 업데이트- 그중 최솟값을 취함 시간복잡도 정점의 개수를 V라 했을 때, 1) 하나의 임의의 정점을 고르고, 이와 연결되지 않은 정점들의 가중치 업데이트 : V-1번 수행2) ..

최소신장트리하나의 연결 성분으로 이루어진 무방향 가중치 그래프에서 간선의 가중치 합이 최소인 신장 트리( 모든 정점을 연결하되, 가중치 합이 최소) 왜 트리냐?1. 연결그래프2. Cycle 가지지 않음 !!!!!

API : 라이브러리- 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음 [ java.lang 패키지 ]- 자바의 가장 기본적인 클래스와 인터페이스가 담겨있는 패키지- import문 없이 사용 가능 equals()hashcode() 문자열의 특징1. 객체 내의 값 변경 불가능 -> 값 변경시 새로운 객체를 생성하여 작성 2. 문자열을 바로 입력한 데이터는 문자열이 같은 경우 하나의 객체를 공유 문자추출 (charAt()): 매개값으로 주어진 인덱스의 문자를 리턴 문자열 찾기 (indexOf()): 매개값으로 주어진 문자열이 시작된 인덱스를 리턴함: 주어진 문자열이 포함되어 있지 않으면 -1을 리턴 문자열 대치 (replace())- 첫 번째 매개값을 찾아 두 번째 매개값으로 대치한 ..

[ 지역성의 원칙 ] : 프로그램은 어떤 특정시간에는 주소공간 내의 비교적 작은 부분만을 접근함 시간적 지역성- 한번 참조된 항목은 곧바로 다시 참조되는 경향- loop 내의 명령어, loop 내에서 반복적으로 업데이트 되는 변수 공간적 지역성- 어떤 항목이 참조되면 그 근처에 있는 다른 항목들이 곧바로 참조될 가능성 높음- 순차적 명령, 배열 ex) 메모리 계층구조 ⭐️ DRAM- capacitor(콘덴서)에 전하로 저장- DRAM의 메모리 셀 = 1개의 트랜지스터 + 1개의 capacitor- capacitor는 비트값을 저장- 주기적으로 refresh 필요 SRAM- DRAM에 클럭 추가- 메모리와 프로세서를 동기화하는 시간이 필요 X DDR DRAM (Double Date Rate) : DD..
보호되어 있는 글입니다.

콘센트에 플러그만 꼽히는 가전제품이라면 종류에 상관없이 다 가능=위처럼 이 인터페이스만 충족하면 다 사용할 수 있음 인터페이스- 그 자체가 public- 모든 필드가 public static final 로 정의 (생략가능) == 상수필드라고 부른다- 모든 메서드가 public abstract 로 정의 (디폴트 메서드 제외, 생략가능) == 추상메서드라고 부른다- 디폴트 메서드는 public으로 정의 (생략가능)- 자체적으로 객체 생성 불가 (생성자가 없음!!!) ⭐️ 인터페이스 구성 요소 [ 인터페이스 필드 ]상수(constant) 필드 선언 가능 -> 권장하지 않음! - 데이터를 저장한 인스턴스 또는 정적 필드 선언이 불가능! - 상수이름은 대문자로 작성하되 서로 다른언어로 구성되어있을시 ..

abstract(추상) 메서드: 완성되지 않은 미완성 메서드- {중괄호} 생략하고 맨뒤에 ; 붙임- 반드시 자식클래스에서 메서드 재정의(오버라이딩) 해줘야함 (추상메서드로 메소드를 선언하고, 실제 내용은 각각의 자식클래스에서 채움)abstract void cry(); abstract(추상) 클래스: 내부에 추상메서드(미완성메서드)를 하나이상 포함하는 클래스 (없어도 선언 가능하나 굳이?)- 부모 역할만 수행 ( 반드시 추상메서드를 재정의하는 자식이 필요하므로 ) = 즉, 부모클래스이다- 자식의 생성자에서 super(...)형태로 추상 클래스의 생성자 호출- 실체클래스처럼 필드, 생성자, 메서드 선언 가능 추상클래스의 용도- 실체 클래스의 공통된 필드와 메소드의 이름을 통일함- 실체 클래스의 작성시..