Programming/Computer Science 16

컴퓨터의 작동원리

주 기억 장치 주 기억 장치는 중앙처리장치의 프로그램과 데이터를 관장함 주 기억장치에 사용되는 소자는 ROM, RAM 이 있음 한번 기록한 데이터를 빠른 속도로 읽을 수 있지만, 다시 기록할 수 없는 메모리 RAM 프로그램 실행 시 필요한 데이터 공간을 확보하는 역할 EEPROM RAM 과 ROM 의 장점을 취합하여 만든 메모리로 주로 산업용 컴퓨터에서 사용됨 컴퓨터에서 주 기억장치의 주요 Parameter들을 저장할 때 사용됨 ROM Read Only Memory 명렁어 수행 사이클 중앙 처리 장치의 수행 사이클은 인출 → 해독 → 실행 의 과정을 거침 판독 사이클은 판독요구 → 주소전송 → 데이터 수신 → 판독 완료의 순서를 거침 기록 사이클은 기록요구 → 주소전송 → 데이터 전송 → 기록 완료의 순..

네트워크의 기본 개념 요약

기본 용어 노드 : 네트워크에 사용되는 장비, 단말, 시스템 링크 : 노드와 노드간의 논리적인 회선 라우팅 : 네트워크에서 경로를 설정해주는 과정 서버 : 서비스를 제공하는 시스템 클라이언트 : 서비스를 제공받는 시스템 다중화 / 역다중화 다중화 ( Multiplexing ) : 송신측에서 하나의 회선을 시간, 주파수, 코드로 나누어 많은 데이터를 싣는 것 역 다중화 ( De-Multiplexing ) : 수신 측에서 하나의 회선에 다중화되어 온 데이터를 각 채널별로 분리시키는 것 캡슐화 / 디캡슐화 캡슐화 Encapsulation : 송신측에서 데이터에 제어정보를 부가하는 과정 디캡슐화 De-Encapulation : 수신측에서 데이터에 제어정보를 제거하는 과정 암호화 / 복호화 암호화 : 암호키를 사..

알고리즘 - Search 기초개념

어떤 알고리즘을 사용해야 검색이 빠른지 알아보자. 어떤 자료구조를 사용해야 하는지 배워야 하는 것처럼 어떤 알고리즘을 어떤 상황에 사용해야하는지, 자료구조와 알고리즘의 조합이 어떤게 가장 효율적인지 공부해야한다. 검색 관련 패밀리 종류 Binary Search (이진검색) Linear Search (선형검색) 다른 종류로는 Sort (정렬)알고리즘이 있다. 먼저 선형검색 (Linear Search)는 가장 검색을 하기 위한 '자연스런' 방법일 수 있다. 선형검색은 자료를 나열해놓고, 0번째 인덱스부터 하나씩 차근차근 찾는값과 일치한지 확인하면서 넘어간다. 이런 선형검색의 최악의 경우는 찾는 값이 없거나, 마지막 위치에 있을 경우 이다. 이말인즉슨, 배열이 커지면 커질수록 선형검색을 하는 시간 또한 길어지..

알고리즘 - Array 기초개념

Array (배열) 이란? 데이터들을 하나의 그룹으로 묶어서 효율적인 관리를 하기위한 자료구조이다. 알고리즘에서 배열을 공부하기 이전에 Time Complexity (시간 복잡도)를 알아야 한다. Time Complexity 란? 데이터 구조의 오퍼레이션의 속도를 측정하는 방법이다. 이 방법은 실제 시간을 측정하는 것이 아닌, 얼마나 많은 단계(step)가 있는가로 측정한다. 왜냐하면 하드웨어의 성능, 환경등 다른 요소에 의해 같은 코드여도 다른 변수로 인해 결과값이 달라질 수 있기 때문에 작은 단계(step)로 값을 얻을 수 있느냐가 중요한 척도가 된다. 메모리의 관점에서 Array 는 어떤가? 2가지의 메모리가 있다. volatile (휘발성) 메모리: 휘발성 메모리중 RAM 은 Random Acce..

알고리즘의 대한 공부

알고리즘 (Algorithm) 간단히 말해 문제를 해결하기 위한 과정. 혹은 명확하게 정의되고 순서가 있는 유한한 갯수의 규칙으로 이루어진 집합이라 한다. 많은 사람들이 코딩테스트 == 알고리즘이라고 하지만, 이는 반만 맞는 말이라고 생각한다.. 결국 코딩테스트도 문제를 해결하는 법을 아는지 테스트하는 일련의 과정일 뿐이고, 알고리즘이라는 카테고리에 소속되어 있는 것. 알고리즘을 처음 접하는 나같은 사람들이 개념정리를 하고 갔으면 하는 생각으로 글을 써보겠다. 비전공자 입장에서 알고리즘은 정말 알 수 없는 미지의 세계 그 자체다.. 어렴풋이 듣기로 알고리즘이 문제푸는방법쯤으로 알고 있던 나랑 아마 비슷할거라고 생각한다. 알고리즘의 프로그래밍으로 문제를 해결하는 방법에는 여러가지가 있지만, 입문자, 신입,..