Lambda Expression (람다식)자바 1.8 버전에서 추가된 메서드다른말로 익명 함수(anonymous function)이라고 함이름이 없는 함수를 말하며 코드에서 딱 한 번 실행할 목적으로 사용하거나함수 자체를 다른 함수의 인수로 전달 할 때 사용 private static class Node { int dest, cost; public Node(int dest, int cost) { this.dest = dest; this.cost = cost; }}public static void main(String[] args) { Node[] nodes = new Node[5]; nodes[0] = new Node(1, 10); nodes[1] = new Node(2, 20); ..
CS

참고 책문자열은 문자들을 집합의 형태로 구성한 이뮤터블 객체Immutable 이뮤터블 객체값을 변경할 수 없는 객체를 의미문자열 추가 삭제문자열은 이뮤터블 객체이므로 기존 객체를 수정하는 것이 아니라 새로운 객체를 반환함String string = "He"; // ➊string += "llo"; // ➋System.out.println(string); // "Hello"그러므로 시간복잡도는 단순히 1번의 과정이 아니라1. 새로운 객체 생성2. "He" 값을 하나씩 복사 (2개 복사)3. "He" 뒤에 "llo" 저장 (3개 저장)시간 복잡도는 문자열의 길이가 N일 때, O(N)문자열 수정새로운 객체를 생성하지 않을 시엔 replace()를 사용한다StringBuffer..
Primitive Typeint, long, float, doubleReference TypeInteger, Long, Float, Double레퍼런스 타입은 참조형 변수이므로 프리미티브 타입보다 연산속도가 더 느림하지만 레퍼런스 타입은 컬렉션 프레임워크 등에서 정수형 또는 부동소수형을 저장할 때 사용비트 연산자int a = 13int b = 4 System.out.println(a & b) # AND / 4System.out.println(a | b) # OR / 13System.out.println(a ^ b) # XOR / 9System.out.println(~a) # NOT / -14System.out.println(a > 1) # 오른쪽 시프트 (a를 2^1..

안정 정렬비교한 값이 같을 때 서로 바뀌지 않는 정렬법을 안정 정렬이라고 한다병합 정렬(Merge Sort)리스트의 길이가 0또는 1이면 이미 정렬된 것으로 봄정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다int arr[] = {5, 3, 7, 8, 6, 4, 2, 1, 0, 9};int tmparr[10];void sort(int, int);void merge(int, int);void sort(int start, int end){ if(end > start) { sort(start, (start + end) / 2); sort((..
참고 링크버블 정렬(Buble Sort)바로 뒤의 원소와 비교해 더 크다면 뒤로감구현이 쉬운 만큼 성능이 좋지 않다시간복잡도 O(n^2)def bubbleSort(x): length = len(x)-1 for i in range(length): for j in range(length-i): if x[j] > x[j+1]: x[j], x[j+1] = x[j+1], x[j] return x선택 정렬(Selection Sort)1번부터 끝까지 훑어서 가장 작은 것을 첫 번째, 그 다음에 2번째 부터 가장 작은 게 두 번째로 정렬시간복잡도 O(n^2)def selectionSort(x): length = len(x) for i in range(length-1): for j in range(i+1, ..

참고 링크트리그래프의 일종트리에서의 정점을 노드라고하고 간선을 가지라고 한다관련 용어노드(Node)그래프의 정점에 해당하는 것루트 노드트리의 기준이 되는 노드나무의 뿌리와 유사루트 노드 위에 가지가 뻗어있다는 이미지부모 노드어떤 노드에서 자신과 인접한 노드들 중 루트 노드로 향하는 노드자식 노드어떤 노드에서 자신과 인접한 노드들 중 루트 노드의 반대 방향으로 향하는 노드단말 노드자식 노드가 존재하지 않는 노드가지의 끝형제 노드부모 노드가 같은 노드가지(Branch)그래프의 간선에 해당하는 것트리에서는 양방향 간선만 사용부트리(Sub Tree)부분 그래프와 비슷하게 정의차수(Degree)자식 노드의 개수길이(Length) 임의의 두 노드를 시작, 도착 노드로 하는 경로에 거치게 되는 노드의 수깊이(Dept..