목록전체 글 (212)
개발자 끄적끄적
- 이진트리를 순회하는 방법은 이진트리를 크게 루트 노드, 왼쪽 부트리, 오른쪽 부트리의 세 부분으로 나누고 이 세 부분을 방문하는 순서는 3의 조합의 개수인 모두 6가지가 된다 1. 루트노드 -> 왼쪽 부트리 -> 오른쪽 부트리(D->L->R) //전순위 2. 루트노드 -> 오른쪽 부트리 -> 왼쪽 부트리(D->R->L) //전순위 3. 왼쪽 부트리 -> 루트노드 -> 오른쪽 부트리(L->D->R) //중순위 4. 오른쪽 부트리 -> 루트노드 -> 왼쪽 부트리(R->D->L) //중순위 5. 왼쪽 부트리 -> 오른쪽 부트리 -> 루트노드(L->R->D) //후순위 6. 오른쪽 부트리 -> 왼쪽 부트리 -> 루트노드(R->L->D) //후순위 이 중에서 2,4,6번은 1,3,5번과 중복되므로 제외 - 1..
- 연결리스트에 의한 방법 - 배열에 의한 트리의 표현은 상당히 제한적인 기능을 갖는다 - 특히 트리 구조는 데이터 양의 가변적인 경우에 주로 많이 사용하므로 데이터의 양을 미리 예측하기 힘들다 - 트리가 포화이진 또는 완전 이진의 구조가 아니라 중간에 노드가 비어있는 경우가 발생할 때 메모리의 낭비가 일어난다 - 따라사 실제의 응용분야에서는 포인터를 사용한 연결리스트 방법이 주로 사용되며, 연결리스트 역시 메모리 기반이 아닌 파일기반으로 구현된다 - 이진트리는 하나의 데이터 필드에 두 개의 자식노드를 연결하는 연결필드가 필요하다 : 이중 연결리스트 - 구조체는 사용자가 혼합하기에 따라서 무한대에 가까운 조합(정수형, 실수형, 문자형 등)을 갖는다 즉, 사용자가 구조체를 직접 만들어야한다 ex) stru..
- 가장 기초적인 Matlab 함수 : image >> c=imread('cameraman.tif'); >> image(c) -> color가 적절치 않다 - imshow() 함수로는 Graylevel을 조절할 수 없다 하지만 >>colormap(gray(256)); >>image(c);를 하면 제대로 보인다 - truesize - 디스플레이에 사용할 수직과 수평의 스크린 화소수를 나타낸다 실제 영상의 size로 display된다 - axif off - 축의 라벨링을 off한다 - colormap(gray(level 수)) - colormap을 그레이 음영으로 조정한다 - >>image(c), truesize, axif off, colormap(gray(247)) -> 적절한 그레이 영상 생성 1) >>..
- LPAD(값, 총 문자길이 , 채움문자) : 왼쪽 기준으로 지정된 문자, 공백을 채운다는 의미 ex) LPAD(123, 5, '0') -> 결과 : 00123 LPAD(123, 8, '0') -> 결과 : 00000123 - 총 문자길이 - Length(값) = 채움문자수 - RPAD(값, 총 문자길이, 채움문자) : 오른쪽을 기준으로지정된 문자, 공백을 치운다 - LEVEL : 계층적 질의문에서 검색된 결과에 대해 계층별로 레벨 번호를 표시한다 루트 노드는 1이며 하위 레벨로 갈수록 1씩 증가한다 즉, 오라클에서 실행되는 모든 쿼리 내에서 사용 가능한 가상 '열'로써 트리 내에서 어떤 단계(LEVEL)에 있는지를 나타내 는 정수값이다 계층적인 쿼리가 아니라면 모든 값이 0, 즉 같은 단계를 가진다 ..
- 테이블에 데이터가 이미 존재하면 업데이트하고, 존재하지 않으면 입력을 해야하는 경우가 종종 있는데 오라클에서 이런 작업을 한 번에 할 수 있는 쿼리이다 1. 동일한 테이블 구조에서 가지고 있는 B 테이블로부터 데이터를 옮기는 예 MERGE 변경될 테이블명 AS A USING 기준 테이블 명 AS B ON A.컬럼명 = B.컬럼명 WHEN MATCHED THEN 일치할 때 쿼리문 WHEN NOT MATCHED THEN 불일치할 때 쿼리문 1.1 추가 조건 지정을 할 때 MARGE 변경될 테이블명 AS A USING(SELECT 컬럼명 FROM 기준 테이블명) AS B ON(A.컬럼명 = B컬럼명 AND A.컬럼명 = B.컬럼명) WHEN MATCHED AND 조건 THEN INSERT(A.컬럼명) VA..
1. Index Unique Scan - 인덱스를 사용한 검색 방식 중 가장 빠른 방식 - 이 방식을 사용하기 위해서는 키본 키 또는 Unique Index가 생성되어 있어야 하며 인덱스를 구성하고 있는 모든 컬럼이 조건절에서 '='로 비교되어야 한다 - 조인되는 Inner Table 과의 조인 조건에도 Unique index 또는 기본 키 컬럼이 모두 조인에 참여했을 때만 Index Unique Scan을 할 수 있다 2. Index Range Scan - 인덱스를 사용해 인덱스가 생성된 컬럼에 대해 범위를 검색하는 방법 - Unique Index를 사용하지 않거나, 비교연산자를 사용한 대다수의 경우가 이 방식으로 처리되며 비교 연산자로는 =, between, like 등이 사용된다 3. Index S..
jquery + mybatis jquery > 1) selector(선택자), 2)ajax( $.post(), $.get, $load() ) mybatis > sql문장 -> xml 코드에 삽입, sql과 관련된 문장의 90%가 사라진다 www.jquery.com>download> Download the uncompressed, development jQuery 3.6.0 -(1) Download the compressed, production jQuery 3.6.0 -(2) *(1), (2)는 용량차이이며, '클릭'이 다운하는게X >버튼 우클릭>다른이름으로 링크 저장>Using jQuery with a CDN에서 https://code.jquery.com 클릭> jQuery 3.x의 minified>복..
- 크기가 mXm인 정방행렬 A의 행렬식은 det(A)로 표기되며 다음과 같이 귀납적으로 계산되는 스칼라 값 1. If m = 1, det(A) = a11 2. If m>1, det(A) = 시그마 i=l...m일 때 (-1)^(i+j) * aij * det(Aij) Where Aij is a matrix obtained from A by deleting the ith row and jth column - 행렬식은 정방행렬에서만 정의된다 - 소행렬(Minor matrix) Aij - 행렬 A에서 i행과 j열의 모든 원소를 제거한 행렬 - 행렬 A의 크기가 mXm이면, 소행렬 Aij의 크기는 (m-1) X (m-1)이 된다 - 곱셈에 대한 역행렬은 정방행렬에서만 정의된다 - 암호는 잉여 행렬, 즉 모든 행..
- 앞 절에서 논의된 나눗셈 관계식 (a = q*n+r)은 두 개의 입력값 (a, n)과 두 개의 출력값 (q, r)을 가진다 - 모듈러 연산에서는 하나의 결과 값, 즉 나머지 r에만 관심이 있고 몫 q는 신경쓰지 않는다 - 이진 연산자를 모듈러 연산자라고 하고, mod로 표기한다 - 두 번째 입력값(n)은 모듈러(Modulus)라고 하고, 결과값 r은나머지(Residue)라고 한다 - 모듈러 n을 이용하는 모듈러 연산의 결과는 항상 0과 n-1사이의 정수 값 즉, a mod n의 결과값은 항상 n보다 작은 음이 아닌 정수 값이 된다 - 모듈러 연산자는 하나의 집합을 생성하는데, 모듈러 연산에서 이 집합을 모듈러 최소 잉여 집합 또는 Zn이라고 한다 - 두 정수가 합동(Congruence)임을 보이기 위..
- 편리함을 추구하는 언어 - 간결함을 추구하는 언어 - 명령형 언어, 객체지향 언어에 함수형 언어 개념 - 실용성 - 이미 검증되고 많이 사용되는 언어 기능을 채택 - 간결성 - 타입 추론(타입을 명시하지 않아도 된다), getter/setter - 안정성(Null Safety) - Interoperability(자바와 100%호환) - 다양한 플랫폼 지원 - JVM 기반의 서버, 안드로이드, 코틀린 자바스크립트, 코틀린-native IOS, MacOS, AndroidNDK, Windows, Linux - 정적 타입 언어 - statically typed lang. (java, kotlin) - dynamically typed lang. (python) - 함수형 언어(Functional Lang) -..