목록알고리즘 & 자료구조 & 네트워크 (29)
오봉이와 함께하는 개발 블로그
Pooling WebSocket이 나오기 전 사용했던 기술 일정 주기로 서버에 요청을 보내서 응답을 받는 방법 불필요한 요청과 커넥션이 발생하여 서버 리소스를 많이 소모시킨다. 주기에 따라 실시간으로 착시효과를 발생 시킬 수 있지만, 따지고 보면 실시간은 아니다. HTTP 통신이기 때문에 Response / Request 헤더가 불필요하게 크다. LongPooling Pooling과 유사하게 일정 주기마다 요청을 보내지만 서버가 바로 응답하지 않는 방식 특정 이벤트나 타임아웃이 발생했을 때 응답을 전달한다. 때문에 불필요한 요청 / 커넥션을 하지 않기 때문에 Pooling보다 리소스 소모는 적다 HTTP 통신이기 때문에 Response / Request 헤더가 불필요하게 크다. Streaming 커넥션을..
JSON 형식 key-value 쌍으로 이루어진 자료구조 key : value와 같은 형식으로 구분한다. key값만 알고 있으면 value를 추출할 수 있다는 장점이 있다. 예 "MyName" : "Mr. Go" key는 MyName, value는 Mr. Go(String)가 된다. value값으로 int, Array 등 다양한 자료형이 올 수 있다. "age" : 25 "drink" : ["soju", 16.5, "cold"] '{ }'를 이용하여 여러 정보를 하나로 묶을 수 있다. car1이 key가 되고, '{ }'안에 key-value들이 묶여진 구조를 객체(Object)라고 한다. 객체도 value가 될 수 있다."car1" : { "Name" : "Sonata", ..
Node.java package AlgoPractice.algorismProject2; public class Node { int value; String name; Node leftchild; Node rightchild; // 생성자 public Node(int value, String name) { this.value = value; this.name = name; leftchild = null; // 객체이므로 null로 초기화 rightchild = null; } } BinaryTree.java package AlgoPractice.algorismProject2; import AlgoPractice.algoTest.BinTree; import static java.lang.System.exit;..
package AlgoPractice.sort; import java.util.Arrays; import java.util.Scanner; public class QuickSortHomeW { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("학생 수 입력 : "); int students = scan.nextInt(); int[] arr = new int[students]; System.out.println(); for(int i = 0; i < arr.length; i++) { System.out.print("학생 " + (i+1) + " 점수 입력 : "); arr[i] = ..
Algorithmday_4 정리 (2021.12.01 수요일) 해싱(Hashing) 해시 함수와 해시 테이블을 이용하여 데이터를 빠르게 저장하고 탐색하는 방법 데이터를 해시 테이블이라는 배열에 저장하고 데이터의 키 값으로 해시 함수를 통하여 테이블의 주소를 반환해서 원하는 데이터를 찾는 방식 해시 테이블 값의 연산에 의해 직접 접근 가능한 구조 해시 함수 해시 테이블에서 키 값을 주소로 변환하는데 사용되는 함수 계산이 빠르고 간단해야 하며, 다른 키 값이 같은 주소를 산출하는 경우가 적어야 함 해시 함수 종류 나눗셈법 중간 제곱법 폴딩법 기수 변환법 자리수 분석법 나눗셈법 키 값을 정수로 보고 이를 적당한 양의 정수(주소, 해시 테이블의 크기 등)로 나누어서 그 나머지를 해시 주소로 하는 방법 h(k) ..