728x90 반응형 전체 글48 [자료구조] 해싱(hashing) Static Hashing Definition 배열 안에 key를 저장하고 탐색하는 기법 - hash table key를 배열의 index로 mapping 이를 bucket이라고 함 평균 성능: O(1) 탐색, 삽입, 삭제 index bucket 0 Korea 1 Japan 2 Qatar 3 Vietnam 4 China 5 Taiwan 6 Singapore 7 France Insert Thailand & Spain index bucket 0 Korea 1 Japan 2 Qatar 3 Vietnam 4 China 5 Taiwan Thailand 6 Singapore Spain 7 France -> index 5, 6에서 collision 발생 Insert SriLanka index bucket 0 Kore.. 2022. 5. 23. [자료구조] 정렬 Definition 리스트의 요소들을 특정 순서로 배열하는 것 Sorting Algorithms - 1 Internal Sorting 리스트가 메인 메모리 안에서 정렬되는 것 정렬 속도는 빠르지만, 데이터의 양이 제한적 External Sorting 부가적인 공간에서 리스트가 정렬되는 것 정렬 속도는 느리지만, 보조 공간을 이용하여 큰 데이터도 정렬할 수 있음 Insertion sort 새로운 key를 삽입하기 위해서 리스트에서 맞는 위치를 찾고 그 위치에 삽입 성능 O(n2) n = 키의 개수 짧은 리스트에서 간단하고 좋음 부분적으로 이미 정렬된 리스트일 때 좋음 Example // GeeksforGeeks void insertionSort(int arr[], int n) { int i, key, j;.. 2022. 5. 19. 자바 입출력: Scanner vs BufferedReader 처음 자바를 배울 때는 키보드에서 입력받기 위해 Scanner를 사용했다. 그리고 혼자 공부를 시작하면서 BufferedReader를 더 많이 사용하기 시작했다. 그런데 막상 그 차이점은 잘 모르고 단순히 BufferedReader가 더 효율적이라는 말에 쓰기 시작했다. 그래서 두 가지를 비교해보았다. 1. Scanner java.util 패키지 키보드에서 입력받는 대로 바로 처리 엔터와 스페이스로 구분 -> 공백 입력 불가 원하는 타입으로 받을 수 있음 import java.util.Scanner; Scanner scanner = new Scanner(System.in); int n; n = scanner.nextInt(); 2. BufferedReader java.io 패키지 키보드의 입력을 버퍼에 .. 2022. 2. 26. 자바의 특징과 구조 1. 자바의 특징 운영체제에 독립적: 자바로 작성된 코드는 JVM(Java Virtual Machine) 위에서 실행되기 때문에 운영체제에 구애받지 않고 코드를 작성하고 실행할 수 있다. 눈에 너무도 익숙한 그 문장 Write once, run anywhere 객체지향언어: c++은 엄밀하게 말해서 객체지향언어가 아닌 객체지향지원언어라고 할 수 있다. 왜냐하면 객체를 이용하지 않고도 코드를 작성할 수 있기 때문이다. 그러나, 자바는 모든 것이 객체에서 시작해서 객체에서 끝나는, 말 그대로 '객체지향언어'이다. 비교적 배우기 쉽다: 자바의 정석에서는 이를 자바의 특징으로 내세우고 있는데, 사실 이건 사람 바이 사람이기 때문에 특징으로 볼 수 있는지 의문이 든다. 객체 지향의 사실과 오해를 보면 자바 개발자.. 2022. 2. 25. 이클립스 vs 인텔리제이 처음 자바를 배울 때는 이클립스를 통해 배웠다. 그리고 Spring을 배우기 시작하면서 인텔리제이를 사용하기 시작했다. 그리고 인텔리제이를 사용해 보기 전에 안드로이드 스튜디오를 사용해보았는데 인텔리제이를 사용하기 시작하면서 안드로이드 스튜디오가 인텔리제이를 기반으로 만들어졌다는 것을 알게 되었다. 1년 전 학교에서 고작 한 학기 배운 자바를 다시 자세히 파보려 하는데 어떤 툴이 좋을지 고민하다가 알아보게 된 내용을 정리해보려고 한다. 이클립스 무료 자동 완성, 코드 추천 빈약 HTML, CSS, JS 코드 작성할 때 지원이 미약 Spring 개발 시 인텔리제이보다 번거롭고 어려움 특히 Lombok 설치 번거로움 전자정부 프레임워크는 공식적으로 이클립스 개발 환경을 지원함 인텔리제이 유료(무료 버전, 학.. 2022. 2. 25. 자바 8 vs 자바 11 결론: 자바 11에서 몇 가지 기능이 추가되었지만 프로젝트 등에서는 안정성을 위해 자바 8을 사용하는 것이 좋다 자바 8 (출처: 스프링 입문을 위한 자바 객체 지향의 원리와 이해) Interface Default and Static Methods Lambda expressions // 람다식 미적용 코드 public class NoLambda{ public static void main(String[] args){ Runnable r = new Runnable(){ public void run(){ System.out.println("Run!!"); } } } } // 람다식 적용 코드 public class UseLambda{ public static void main(String[] args){ R.. 2022. 2. 25. 이전 1 ··· 5 6 7 8 다음 728x90 반응형