본문 바로가기

컴퓨터과학

대학원 면접 질문 대비 (자료구조 / 네트워크 / DB / 전공지식) C언어와 객체지향언어의 차이점C언어는 절차지향언어로 객체를 순차적으로 처리해야 하며, 프로그램 전체가 유기적으로 연결되어 있어야 함.실행속도가 빠르다는 장점이 있지만, 비효율적이며, 유지보수가 어렵다는 단점이 있음객체지향언어는 객체 간 상호작용이 가능하며, 캡슐화, 추상화, 상속, 다형성의 특징이 있음.자바, 파이썬, C++등이 해당함.캡슐화는 데이터와 알고리즘을 하나의 캡슐로 만드는 것이며, 외부에서 데이터와 코드의 형태를 알 수 없음추상화는 프로그램을 만드는데 필요한 공통적인 부분만 추출하고 필요하지 않은 부분을 제거하는 것 (인터페이스와 구현을 분리)상속은 상위클래스의 모든 것을 하위 클래스가 이어 받는 것다형성은 상속과 연관된 개념으로 하나의 객체가 다른 여러 객체로 재구성되는 것트랜잭션의 특징과.. 더보기
대학원 면접질문 대비(알고리즘 / 운영체제) 가장 효율적인 정렬과 그것의 시간 복잡도퀵소트(quick sort)로 최소 및 평균으로는 O($n\log{n}$), 최악의 경우는 O($n^2$)의 시간복잡도를 가짐.퀵소트는 divide and conquer개념을 사용하는 알고리즘으로 기준점인 피벗(pivot)을 정하고, 피벗보다 작은값은 왼쪽으로 큰값은 오른쪽으로 정렬해 파티셔닝을 진행함. 탐욕알고리즘과 동적계획법탐욕알고리즘(Greedy Algorithm)최적의 값을 구해야 하는 상황에서 각 단계에서 최적이라고 생각되는 값을 선택해나가는 방식으로 최종적인 최적의 값에 도달하는 알고리즘임. (Top-down)이전의 선택이 이후에 영향을 주지 않고, 부분문제의 최적해가 전체문제에도 적용할 수 있어야 한다는 조건이 존재함.전체 문제에서 최적의 값을 보장하지.. 더보기