본문 바로가기

Computer Science

(9)
[AL] 알고리즘 성능 판단 (시간복잡도/공간복잡도/Big-O Notation) 1. 알고리즘 알고리즘은 입력 값(Input)을 받아 의도에 맞는 출력 값(Output)을 내는 과정이라고 할 수 있다. 그렇기 때문에 문제를 해결하는 방식에 따라 한 가지 문제에서도 다양한 알고리즘이 나올 수 있다. 우리는 그러한 문제들을 해결할 때 주어진 상황에 따라 적절한 알고리즘을 사용해야 되며, 우리가 사용하고자 하는 알고리즘의 성능을 파악할 수 있어야 된다. 알고리즘의 성능 파악하는 방법은 시간 복잡도 (Time Complexity)와 공간 복잡도 (Space Complexity)로 구분된다. 2. 시간복잡도 (Time Complexity) / 공간 복잡도 (Space Complexity) 쉽게 풀어서 시간 복잡도는 '문제를 해결하는 데 소요되는 시간이 얼마인가?'이고, 공간 복잡도는 '문제를..
[Python] Python 기초 정리 Index string, list 등에서 사용 n >= 0일 때, n번째 요소를 의미 n < 0일 때, 마지막에서 n번째 요소를 의미 (n
[DS] 이진트리(Binary Tree)와 완전이진트리 (Complete Binary Tree) 이진트리 모든 노드들의 자식 노드가 두 개 이하인 트리 자식 노드는 Sub Tree라고 볼 수 있다. 자식 노드를 왼쪽 노드(Left Node/Left Sub Tree)와 오른쪽 노드(Left Node/Right Sub Tree)로 구분함 완전 이진트리 이진트리의 일부 단말 노드(Leaf)를 제외한 나머지 노드가 2 개의 자식 노드를 가지고 있는 트리 완전이진트리의 특성 특정 높이 k에 있는 최대 노드 개수는 2^(k-1) 높이가 h인 포화이진트리의 노드 개수는 2^h -1 노드 개수(N)과 높이(h)의 관계 -> h = Log2(N+1) Array에 저장된 경우 추가적인 특성이 존재 Left Child와 Parent의 관계 -> (Left Child Index) = (Parent Index * 2) R..
[C#] Func과 Action Func과 Action은 C#에서 Delegate를 일일히 선언해야되는 불편함을 줄이기 위해 Microsoft에서 .NET FrameWork에 추가한 것이다. Func 결과를 반환하는 Method 참조용 매개변수는 최대 16개까지 기입 가능 마지막 매개변수의 형식이 Func의 반환 형식이 됨 Func func1 -> 반환 형식은 int Func func2 -> 반환 형식은 char Action 결과를 반환하지 않는 Methods 참조용조용 매개변수는 최대 16개까지 기입 가능 나는 C#을 실무 작업을 하면서 배우게 되었다. 그래서인지, C#을 사용할 줄 알지만 깊게 이해한 수준은 아니다. 이번에 공부한 Func과 Action 역시 같은 느낌을 받았다. Action은 경우 실무에서 자주 쓰고 있기 때문에 ..
[C#] Delegate와 Event Delegate 대리자, 위임자 CallBack 용도로 쓰임 Event Delegate와 유사한 역할 수행 특정 상황에 대해 처리하는 용도로 쓰임 Delegate와 Event의 차이 Delegate는 서로 다른 Class 간의 호출이 가능 Event는 서로 다른 Class 간의 호출이 불가능 (형식 한정자를 'Public'으로 선언하더라도 불가능 함)
[C#] FOR 문과 FOREACH 문 차이 나는 C언어를 통해 CS를 알게 되었으며, 그렇게 CS의 길을 걸어왔다. 또한, 지금 주력 언어도 C와 C++이라 할 수 있다. 그래서인지 유달리 FOR문을 FOREACH보다 주로 사용하는 것 같다. 오늘의 포스팅은 FOREACH문에 대해 정리하며, FOREACH를 잊지말자는 의미로 간략하게 적어보았다. FOR 문 for([초기화]; [조건]; [증감문]) {} 모든 Data Type에서 사용가능 FOREACH 문 foreach([자료형] [변수] in [컬렉션]) {} ArrayList와 같은 Collection에서만 사용가능 사용자 정의 Data Type에서 사용하기 위해서는 IEnumerable과 IEnumerator를 상속해야함 Generic Class에서는 IEnumerable와 IEnumera..
[SQL] SQL 기본 공부(2) [조건문] CASE WHEN() (MySQL) CASE WHEN (조건) THEN (참인 경우) ELSE (거짓인 경우) END SELECT 구문 뒤에 사용하면 됨 WHERE 구문에서도 사용 가능 IF() MySQL IF(조건, 참인 경우, 거짓인 경우) SELECT 구문 뒤에 사용하면 됨 WHERE 구문에서도 사용 가능 [기초 함수] SUBSTRING(), 'SUBSTR(), 'MID() (MySQL) 문자열의 일부를 가져오는 함수 (3함수는 동일한 동작 시행) 해당함수는 SQL에서 많이 쓰이는 함수 COUNT() 특정 Column을 만족하는 ROW(Data) 개수를 가져오는 함수 [SubQuery] Main Query안에 사용된 Queries SELECT 구문 안의 SubQuery -> Scalar ..
[SQL] SQL 기초 공부(1) [SQL 명령어] show databases(tables); -> database(table)을 보여줌 use [databaseName]; -> 해당 database를 사용하고자 함 select database(); -> 현재 선택된 database 보여줌 (없으면 NULL) describe [tableName]; -> 해당 tabe에 대한 정보를 보여줌 (describe 대신 desc라고 줄여도 됨) [기본 구문] CREAT 구문 데이터베이스 or 테이블 생성 테이블 생성 시, Column 설정과 자료형 기입 필요 DROP 구문 데이터베이스 or 테이블 삭제 INSERT 구문 데이터 삽입 Column을 명시하지 않으면 Table에 있는 순서에 맞춰 자동 설정 SELECT 구문 데이터 조회 모든 Colu..