본문 바로가기

전체 글

(30)
자료구조와 알고리즘 with 파이썬 chapter5. 알고리즘 개요 5-1 알고리즘이란?알고리즘의 정의와 조건- 알고리즘은 주어진 문제를 해결하기 위한 단계적인 절차, 일을 수행하는 명령어들의 집합. 조건입력: 모호하지 않고 잘 정의된 입력.명확성 : 각 명령어의 의미가 모호하지 않고 명확해야함.언어 독립성 : 프로그래밍 언어와 상관없음.출력 : 명확히 정의된 1개 이상의 출력유한성 : 한정된 수의 단계 후에는 반드시 종료되어야함.유효성 : 명령어들은 현재 실행 가능한 연산이어야 함. 알고리즘의 기술 방법영어나 한국어와 같은 자연어를 사용하는 방법: 표현이 자유롭고 편리하다는 장점이 있지만, 자칫 문장의 의미가 애매해질 수 있다. 흐름도로 표시하는 방법 : 알고리즘의 절차들을 가장 정확하게 표현가능. 하지만 알고리즘이 조금만 길어도 그림이 너무 복잡해져 혼란스로워진다. ..
자료구조와 알고리즘 with 파이썬 chapter4.트리 4-1. 트리란?트리 구조는 계층적인 관계를 가진 자료의 표현에 매우 유용하게 사용.트리관련 용어노드 : 트리에서 각각의 요소간선 또는 엣지 : 노드와 노드의 연결 관계루트 노드 : 계층 적인 구조에서 가장 높은 곳에 있는 노드부모 노드간선으로 직접 연결된 노드 중에 상위 노드자식 노드간선으로 직접 연결된 노드 중에 하위 노드형제 노드같은 부모 노드를 가진 노드조상 노드어떤 노드에서 루트 노드까지의 경로상에 있는 모든 노드자손 노드어떤 노드 하위에 연결된 모든 노드단말 노드자식 노드가 없는 노드. 자식이 있으면 비단말 노드노드의 차수노드가 가지고 있는 자식의 수. 단말 노드는 항상 0트리의 차수트리에 포함된 모든 노드의 차수 중에서 가장 큰 수레벨트리의 각층에 번호를 매기는 것. 루트 노드의 레벨은 항상..
혼공 컴+운 chapter 8. 입출력장치 8-1. 장치 컨트롤러와 장치 드라이버장치 컨트롤러입출력장치는 CPU, 메모리보다 다루기가 더 까다롭다.1. 입출력장치에는 종류가 너무나도 많다. : 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기가 어렵다.2. 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다. CPU나 메모리와 전송률이 비슷하지 않기 때문에 통신이 어렵다. 이런 이유로 입출력장치는 컴퓨터에 직접연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결. 입출력제어기, 입출력 모듈 등올 불린다. CPU와 입출력장치 간의 통신 중개오류검출데이터 버퍼링버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하기 맞추는 방법. 장치 컨트롤러의 내..
혼공 컴+운 chapter7. 보조기억장치 07-1 다양한 보조기억장치하드 디스크- 하드 디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다. 플래터 : 하드 디스크에서 실질적으로 데이터가 저장되는 곳.(동그란 원판)스핀들 : 플래터를 회전시키는 구성 요소. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM이라는 단위로 표현. 헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성요소(바늘 같이 생긴 부품)디스크 암(액츄에이터 암) : 헤드를 원하는 위치로 이동 시킬 수 있는 장치. 플래터는 트랙과 섹터 라는 단위로 데이터를 저장. 실린더 : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적인 단위접근하는 시간탐색시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간회전 지연 : 헤드가 있는 곳으..
혼공 컴+운 chapter6. 메모리와 캐시 메모리 06-1. RAM의 특징과 종류RAM의 특징전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아간다. 휘발성 저장 장치 : RAM과 같이 전원을 끄면 저장된 내용이 사라지는 저장장치비휘발성 저장 장치 : 전원이 꺼져도 저장된 내용이 유지되는 저장 장치. ex) 하드 디스크, SSD, CD-ROM, USB 메모리와 같은 보조 기억 장치.보조 기억 장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조 기억장치에 직접 접근하지 못한다. -> 비휘발성 저장 장치에는 '보관할 대상'을 저장. 휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장. RAM의 용량과 성능RAM용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리하다. RAM용량이 충분히 크다면 보조기억장치에서 많은 데이터를 가져와 미리 R..
혼공 컴+운 chapter5. CPU 성능 향상 기법 5-1. 빠른 CPU를 위한 설계 기법클럭클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복. 클럭 속도가 높은 CPU는 일반적으로 성능이 좋다.클럭 속도는 헤르츠 단위로 측정. 하지만 클럭 속도를 무작정 높이면 발열 문제가 심각.코어와 멀티코어클럭 속도를 높이는 방법 외에 CPU의 성능을 높이는 방법에는 CPU의 코어와 스레드 수를 늘리는 방법이 있다. 코어 : 명령어를 실행하는 부품, CPU : 명령어를 실행하는 부품에서 명령어를 실행하는 부품을 여러 개 포함하는 부품으로 확장.코어를 여러 개 포함하고 있는 CPU를 멀티코어 CPU 또는 멀티코어 프로세서라고 부른다. - CPU의 연산 속도가 꼭 코어 수에 비례하여 증가하지는 않는다. 스레드와 멀티스레드스레드 : 실행 흐름의 단위하드웨어적 ..
혼공 컴+운 chapter.04 CPU의 작동원리 04-1. ALU와 제어장치ALUALU는 계산하는 부품. ALU가 계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다. - ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. ALU가 내보내는 정보 : 계산 결과와 더불어 플래그를 내보낸다. - 결과값뿐만 아니라 연산 결과에 대한 추가적인 정보를 내보내야 할 때가 있다. ex) 연산 결과가 음수일 때 ALU는 "방금 계산한 결과는 음수"라는 추가 정보를 내보낸다. 이러한 연산 결과에 대한 추가적인 상태 정보를 플래그 라고 한다. 플래그 종류의미사용예시부호 플래그연산한 결과의 부호를 나타낸다부호 플래그가 1일 경우 계산 결과는 음수, 0일 경우 계산 결과는 양수제로 플래그연산 결과가 0인지 여부..
자료구조와 알고리즘 with 파이썬 chapter3 3-1. 리스트란?리스트는 가장 자유로운 선형 자료구조.리스트에서는 어떤 위치에서도 새로운 요소를 삽입할 수 있다. 집합리스트원소 사이에 순서가 없다.순사가 있다.원소의 중복을 허용하지 않는다.중복 허용선형 자료구조가 아니다선형 자료구조리스트의 연산insert(pos, e) : pos 위치에 새로운 요소 e를 삽입delete(pos) : pos 위치에 있는 요소를 꺼내서 반환getEntry(pos) : pos 위치에 있는 요소를 삭제하지 않고 반환isEmpty( ) : 리스트가 비어 있으면 True를, 아니면 False를 반환isFull( ) : 리스트가 가득 차 있으면 True를, 아니면 False를 반환size( ) : 리스트에 들어 있는 전체 요소의 수를 반환replace(pos, e) : pos번..