분류 전체보기 (894) 썸네일형 리스트형 [Deep dive] 5장 표현식과 문 5.1 값 값(value) - 식(expression)이 평가(evaluate)되어 생성된 결과 - 평가란 식을 해석해서 값을 생성하거나 참조하는 것 //10+20은 평가되어 숫자 값 30을 생성 10+20; //30 - 모든 값은 데이터 타입을 가지며, 메모리에 2진수 즉 비트의 나열로 저장 - 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석 //변수에는 10+20이 평가되어 생성된 숫자 값 30이 할당 var sum = 10 + 20; 5.2 리터럴 리터럴(literal) - 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation) - 자바 스크립트 엔진은 코드가 실행되는 시점인 런타임(runtime)에 리터럴을 평가해 값을 생성 리터럴 예시 정수 리터럴 1.. [Deep dive] 4장 변수 4.1 변수란 무엇인가? 변수(variable) - 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 - 그 메모리 공간을 식별하기 위해 붙인 이름 - 컴파일러 또는 인터프리터에 의해 값이 저장된 메모리 공간의 주소로 치환되어 실행 ex) var result = 10 + 20; - 10+20은 연산을 통해 새로운 값 30을 생성 - 연산을 통해 생성된 값 30은 메모리 공간에 저장 - 변수 이름 : 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름 (result) - 변수 값 : 변수에 저장된 값 - 할당 (assignement) : 변수에 값을 저장하는 것 - 참조(reference) : 변수에 저장된 값을 읽어 들이는 것 - 변수 이름을 사용해 참조를 요청하면 자바스크립트 엔진은 변수 이름과 .. [혼공] 4-1장 MySQL의 데이터 형식 1. 데이터 형식 1.1 정수형 - 소수점이 없는 숫자, 즉 인원수, 가격, 수량 등에 사용 - 정수형의 크기 데이터 형식 바이트 수 TINYINT 1 SMALLINT 2 INT 4 BIGINT 8 - Out of range : 입력값의 범위를 벗어남 - UNSIGEND : 값의 범위가 0부터 시작 1.2 문자형 - 글자를 저장하기 위해 사용 - 입력할 최대 글자의 개수를 지정해야함 데이터 형식 바이트 수 CHAR(개수) 1~255 VARCHAR(개수) 1~16383 CHAR - Character -고정 길이 문자형 - 자릿수가 고정 VARCHAR - Variable Character - 가변길이 문자형 - 대량의 데이터 형식 데이터 형식 바이트 수 TEXT 형식 TEXT LONGTEXT BLOB 형식 .. [혼공] 3-3장 데이터 변경을 위한 SQL문 1. INSERT : 데이터 입력 - 테이블에 행 데이터 입력 INSERT INTO 테이블 [(열1,열2,...)] VALUES (값1, 값2,..) - 태이블 이름 다음에 나오는 열은 생략 가능 - 열 이름을 생략하는 경우에 VALUES 다음에 나오는 값들의 순서 및 개수는 테이블을 정의할 때의 열 순서 및 개수와 동일해야함 ex) - 테이블의 열이 3개 이므로 입력할 때도 차례에 맞춰서 3개 입력 USE market_db; CREATE TABLE hongong1 (toy_id INT, toy_name CHAR(4), age INT); INSERT INTO hongong1 VALUES(1,'우디',25); - 아이디(toy_id)와 이름(toy_name)만 입력하고 나이(age)는 입력 x - 생략한 .. [혼공] 3-2장 Select문 기본(2) 1.ORDER BY 절 - 결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절 - 기본값 ASC :오름차순 정렬, DESC : 내림차순 - WHERE절 다음에 나와야함 - 정렬 기준을 1개 열이 아니라 여러 개 열로 지정 가능 -> 첫 번째 지정 열로 정렬한 후에 동일할 경우 다음 지정 열로 정렬 가능 SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 ex) 데뷔일자(debut_data)가 빠른 순서대로 출력 SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date; ex) 데뷔 순서(debut_date)가 늦은 순.. 10-1 장 해시법 (2) 1. 오픈 주소법 이해하기 오픈 주소법(open addresing) - 충돌이 발생했을 때 재해시(rehashing)를 수행하여 비어 있는 버킷을 찾아내는 방법 - 닫힌 해시법(closed hashing) - 연결 탐사법(linear probing) : 빈 버킷을 만날 때 까지 재해시 //요소의 상태 typedef enum { Occupied, Empty, Deleted }Status; //요소 typedef struct { Member data; //데이터 Status stat; // 요소의 상태 }Bucket; //해시 테이블 typedef struct { int size; //해시 테이블의 크기 Bucket *table; //해시 테이블의 첫 번째 요소에 대한 포인터 }ClosedHash; 1.1 .. 10 -1 해시법 (1) 1. 해시법 정의하기 해시법(hashing) - 데이터를 저장할 위치(인덱스)를 간단한 연산으로 구하는 것 해시값(hash value) - ex) 배열의 키 값(각 요솟값)을 배열의 요소 개수 13으로 나눈 나머지 - 데이터에 접근할 때 사용 해시 테이블 (hash table) - 해시 값이 인덱스가 되도록 원래의 키 값을 저장한 배열 해시 함수(hash function) - 키값을 가지고 해시값을 만드는 과정 - 나머지를 구하는 연산 또는 나머지 연산을 다시 응용한 연산을 사용 버킷(bucket) - 해시 테이블의 각 요소 2. 충돌 살펴보기 충돌(collision) - 저장할 버킷이 중복되는 현상 ex) 새로운 값 18 추가 (해시값 5 -> 버킷 a[5]) but a[5]에는 다른 값 저장되어 있음.. 9-2장 이진 트리와 이진 검색 트리 1. 이진 트리 정의하기 이진 트리(binary tree) - 노드가 왼쪽 자식과 오른쪽 자식을 갖는 트리 - 각 노드의 자식은 2명 이하만 유지해야 함 - 왼쪽 자식과 오른쪽 자식을 구분 - 왼쪽 서브 트리 (left subtree) : 왼쪽 자식을 다시 루트로 하는 서브트리 - 오른쪽 서브 트리 (right subtree) : 오른쪽 자식을 다시 루트로 하는 서브트리 2. 완전 이진 트리 정의하기 완전 이진 트리 (complete binary tree) - 마지막 레벨을 제외한 레벨은 노드를 가득 채움 - 마지막 레벨은 왼쪽부터 오른쪽 방향을 노드를 채우되 반드시 끝까지 채울 필요는 없음 - 높이가 k인 완전 이진트리가 가질 수 있는 노드의 최댓값 2^k+1 -1 - n개의 노드를 저장할 수 있는 완.. 이전 1 ··· 81 82 83 84 85 86 87 ··· 112 다음