본문 바로가기

728x90
반응형

전체 글

(187)
알고리듬분석3 - Introduction to Algorithms ch4 Divide and Conquer Recurrence Equation - 알고리즘에서 시간 복잡도 함수가 재귀식 형태인 것을 의미함 문제를 해결하는 데 있어서 자기보다 작은 문제들로 나누고 (Divide) 나누어진 문제들을 해결하고 (Conquer) 해결한 문제를 다시 합치는 (Merge) 방식을 말한다. T(n) = T(divide) + T(conquer) + T(merge) Time complexity는 이렇게 표현할 수 있음. Solving Recurrence Equation Substitiution method -> solution을 증명하는 방법 Recursion-tree method Iteration method Master method Recurrence Equation을 해결하는 데 있어서 여러 가지 방식들이 있고 그 방법..
알고리듬분석1 - Introduction to Algorithms ch2 Getting Started 알고리즘 분석 기초 알고리즘이란? - 어떤 문제를 해경하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것 알고리즘 분석을 통해 우리가 배워야 할 것은 1) 어떻게 디자인 되어있는가? 와 2)만들어진 알고리즘을 어떻게 분석 할 것인가? 이다. 1) 어떤 디자인인가에 대해서는 Design Paradigms 란? - 알고리즘을 통해 문제를 해결해 나아가는 과정에서의 접근방법 예시) incremental approach -> insertion sort에 해당함 Diveide-and-Conquer approach Greedy Dynamic Programming Branch and Bound Backtracking Brute Force 등등이 있다. 2) 만들어진 알고리즘을 어떻게 분석하는가 Anal..
알고리듬분석2 - Introduction to Algorithms ch3 Growth of Function Growth of Function - Time complexity를 보여줌으로써 알고리즘의 Efficiency를 간단하게 보여줄 수 있다. Asymptotic efficiency : input의 크기가 충분히 클 때, 효율성을 분석 할 수 있다 - 점근적 이라는 뜻 따라서 시간복잡도의 평가는 input의 크기가 무한일 때를 기준으로 측정해서 표기한다. Notation 표기 O - notation (upper bound) BIG O의 경우 O(g(n))의 증가율이 f(n)을 넘지 않는 것을 의미합니다. 사진으로 예를 들면 빨간색 선으로 되는 부분이 g(n) = 2n^2 + 1 이고 n 이 무한으로 갔을 때, 시간 복잡도는 n^2이 된다. 이때, n^2 은 그 어떤 숫자를 넣어도 2n^2 + 1의 값을 넘길..
알고리듬분석0 알고리듬이란? - A well-defined computational procedure that transforms input -some value, or set of values into the desired output (입력값을 원하는 출력으로 변환하는 잘 정의된 계산 철차) Input -------> ALGORITHM -------> Output *실행 시간이 짧으면 알고리듬이 효율적이라고 말함 여러문제를 해결하기 위해서는 데이터구조에 관련된 지식이 필요함 - Linked List - Binary search trees - Hash tables -Linear array 등등 - 이 카테고리에 있는 글은 한동대학교 용환기 교수님의 알고리듬분석 수업을 듣고 참조해서 만들었음을 밝힘. - 이 카테고리레..
DatabaseSystem0 데이터 베이스란? - organized collection of interrelated data that models some aspect of the real-world (우리가 살고 있는 세계에서 필요하거나 상호작용하는 것들을 조직화한 데이터) 우리는 실제로 많은 곳에서 Database를 사용한다. 예를 들어) 대학교 (학생 기록, 성적), 주식시장(개인이 가진 돈이나 정보), 경영 회사(회계 정보), 항공회사(예약, 비행 스케쥴), Web Service 등등 많은 곳에서 사용 되고 있다. 과거에는 많은 database application들이 *file system으로 이루어져 있었다고 한다. *file system 이란 컴퓨터에서 파일이나 자료를 쉽게 확인 할 수 있도록 유지, 관리 하는 방법이다..
자바 추상 이번에는 추상에 대해서 포스팅 하겠습니다 추상 클래스 - 추상 메소드를 포함하는 클래스를 추상 클래스 라고함. 추상 클래스는 객체화가 불가능하다 Why? 추상 메소드부분은 미구현된 상태이기 때문이다.(중요) 추상 메소드를 반드시 override해야함 부모 클래스와 자식 클래스에 메소드가 있을 때, override된 메소드는 자식 클래스에서 정의 되기 때문에 부모 클래스에서는 비워 놔도 됨 이러한 메소드를 만드는 것이 추상 메소드 이다. public abstract void 메소드이름(); 이렇게 부모 클래스에 선언 추상 메소드가 사용 되는 이유 - 자식 클래스에서 반드시 재정의 되어야 하는 메소드를 추상메소드로 선언함으로써 강제성 부여 가능함 에러 사라짐 Interface interface는 오로지 추상..
자바 상속 2 이번에는 upcasting, down casting에 대해서 설명 해 볼까 합니다 우선 upcasting이란? 부모타입에 자식 값을 넣는 것을 말합니다 자 이렇게 m2메소드는 override되게 해 주었고 Parent class를 부모가 Child class는 자식 클래스가 되게 해주었습니다! 매소드1 (m1)은 부모에서만 정의가 되어있고 메소드2 (m2)는 override되어있고 메소드3 (m3)는 자식클래스에만 있습니다! 그리고 이렇게 메인 클래스에서 Parent클래스 안에 Child 클래스를 넣어 주었습니다. 그리고 각각의 메소드를 실행 시키려고 하는데 에러가 뜨네용. 이유를 찾아 봤습니다 그 이유는 그림 “자식” 클래스를 부모에 넣어주면서 부모에 있는 할당 메모리와 자식의 할당메모리의 자이 때문...
자바 상속 이번에는 자바의 상속 개념에 대해서 포스팅 할까 합니다 상속이란?(inheritance) 기존에 사용하던 클래스를 새롭게 만들 클래스에서 사용하고 싶을 때, 활용하는 문법 입니다! 여기저기 다른 블로그 포스팅 해주신 분들의 말을 조금 간단하게 종합해 봤는데 저도 많이 어렵더라구요 자바에서는 부모(parent class)와 자식(child class)가 만들어 질 수 있습니다. 또한, 모든 부모클래스의 변수와 메소드를 자식클래스에서 자신의 것 처럼 사용 할 수 있죠! 부모클래스로 부터 자식 클래스가 모든것을 물려 예시를 보시죠! 보시다시피 Graduate 클래스에는 아무것도 들어가 있지 않습니다! 하지만 Graduate이라는 클래스를 선언 해 주자마자 Student에 있는 name, age, grade등과..

728x90
반응형