[학교 수업]

Model-Driven Engineering Model-Driven Engineering (MDE)An approach to software development where models rather than programs are the principle outputs of the development processThe programs executing on a hardware/software platform are generated automatically from the modelsSoftware engineers no longer should be concerned with programming language details or the specifics of execution platformsM..
Maximum sub-array Find the consecutive sub-array with maximum sum 이때 subarray란 전체 배열안에 연속된 부분 배열을 의미합니다. 즉, 전체 배열에서 부분 배열의 가장 큰 합을 구하는 문제입니다. 만약 배열에 음수가 없다면, 최대 부분 배열의 합은 전체 배열의 합이 될 것입니다.또한 배열에 양수가 없다면, 가장 큰 음수 하나이거나 조건에 따라서 빈 배열이 가장 큰 부분 배열의 합이 될 것입니다. 부분 배열의 길이가 0인 것을 허용하지 않는다면, 가장 큰 음수 하나가 가장 큰 부분 배열의 합이 될 것이고,부분 배열의 길이가 0인 것을 허용한다면, 빈 배열즉, 0이 가장 큰 부분 배열의 합이 될 것입니다. 이하에 적을 알고리즘은 부분 배열의 길이가 0..
Data Sharing volatile int ncount;void* do_loop(void *loop){ while(1) ncount++; return NULL;}int main(int argc, char *argv[]){ int status, sec; pthread_t thread_id; ncount = 0; sec = atoi(argv[1]); status = pthread_create(&thread_id, NULL, do_loop, NULL); if (status != 0){ perror("pthread_create"); exit(1); } sleep(sec); pthread_cancel(t..
탐색 (Search) 방대한 데이터에서 목적에 맞는 데이터를 찾아내기 위한 과정 하노이 타워경로 찾기8-puzzle틱택토... 에이전트 (agent) 특정 환경 (environment) 내에 위치하여, 설계된 목적 (objectives) 을 만족 시키기 위하여, 자율적 (autonomous) 으로 유연하게 (flexible) 행동할 능력이 있는 컴퓨터 시스템 인공지능에서의 문제 풀이의 주체 지능형 에이전트는 센서로부터 인지된 주변 환경을 인지 (Perception) 하고 효과기 (actuator) 를 통해 외부환경에 적절한 행동을 취할 수 있는 로봇 / 기계 / 소프트웨어 에이전트의 종류Rational Agents (Rule base)"Do right thing."그냥 옳은 행동만을 하는 에이전트Simp..
Fibonacci Number 피보나치 수열은 다음과 같은 방식으로 전개되는 수열입니다.long fibonacci(int n){ return (n  위와 같이 피보나치 수열의 값을 재귀로 구하게 된다면 시간이 너무 오래걸린다는 문제가 있습니다.재귀적으로 짠 fibonacci()의 경우 아래와 같은 방식으로 호출이 일어납니다. 아래의 예시는 fibonacci(5)를 구하는 case입니다: 함수 호출을 총 15번하는 것을 볼 수 있습니다. 구하는 n의 값이 작은 경우 그리 크게 상관은 없지만, n이 커지게 된다면 2가지 문제점이 발생할 수 있습니다.재귀호출이 지나치게 많아져서 memory가 부족해 질 수 있다 → stack overflow느리다 → O(2^n)의 시간복잡도를 갖습니다 위 방식의 문제점은..
Operating System ThreadsExecution units in a process → 서로 다른 threads는 같은 address space를 공유한다. 같은 process에서의 실행 유닛이기 때문이다.Each thread runs in the context of the process and shares the same code and global data Easier to share data between multiple threads than processes → fork()를 통해 multi-process를 하는 것 보다는 multi-tread를 하는 것이 더 쉽고 빠르다.Typically, more efficient than processes Virtual Address Space ..
System Modeling System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.시스템 모델링은 시스템의 추상적인 모델을 개발하는 과정으로 각각의 모델들은 그 시스템을 바라보는 다른 관점을 제시합니다.Helping analysis to understand the functionality of the system → 이는 시스템의 기능을 이해하는데 도움을 줌Helping analysis to communicate with customers → 이는 고객과의 의사소통에 도움을 줌Mostly base..
Matrix Multiplication Multiply 2 N by N MatricesTakes O(N^3) Time using Normal MethodCan we do FASTER?  Apply Divide and Conquer  In the above method, we do 8 multiplications for matrices of size N/2 x N/2 and 4 additions. Addition of two matrices takes O(N^2) time. So the time complexity can be written asT(N) = 8T(N/2) + O(N2) From Master's Theorem, time complexity of above method is O(N3)whic..
건대다니는 컴공생
'[학교 수업]' 카테고리의 글 목록 (4 Page)