[Lisp] Ch 7 Applicative Programming(실용적인 프로그래밍)
·
Major/Lisp
1. Applicative Operators(연산자) 🟡 #’ (또는 ‘‘sharp quote’’)은 리슾안의 함수를 인용하는 적절한 방법이다. * the correct way to quote a function in Common Lisp. * 함수만 되고 Symbol은 안됨 1) FUNCALL: 일부 입력에 대한 함수를 호출한다. (funcall #'cons 'a 'b) -> (a . b) 2) MAPCAR: 각 요소마다의 함수값을 리스트의 형태로 출력한다 (인풋값을 여러개 하고싶을 때 사용) (mapcar #'함수이름 인풋리스트) (defvar *words* '((one uno) (two deux) (three trois) (four quatre))) (mapcar #'first *words*) (d..
[C언어로 쉽게 풀어쓴 자료구조] 02장 순환 - 연습문제
·
Major/Data Structure
01 5개 02 ④ 스택 03 ④ 순환 호출의 순차번호 04 ③ 05 n이 줄어들지 않아 무한적으로 반복된다 06 기저조건이 없다 07 5 4 3 2 1 0 반환 값 : 16 * 이유 sum(5) = 5+ sum4 = 16 sum(4) = 4 + sum3 = 11 sum(3) = 3 + sum 2 = 7 sum(2) = 2 + sum 1 = 4 sum(1) = 1 + sum 0 = 2 sum(0) = 1 08 출력 : 5 4 3 2 1 0 반환 값 : 95 09 출력 : 10 7 4 1 -2 반환 값: 3 10 1 2 3 4 5 11 ******* 7개 함수가 몇번 실행되는지 알면된다. 12 evisrucer * getchar : 사용자가 키보드로 입력한 문자 혹은 문자열에서 한 글자를 읽어서 반환하는 ..
[C언어로 쉽게 풀어쓴 자료구조] 02장 순환_개념정리
·
Major/Data Structure
1. 순환 - 순환이란 어떤 알고리즘이나 함수가 자기 자신을 호출하여 문제를 해결하는 프로그램이다. 1. 순환의 예 ex) 팩토리얼 계산 🟡 코드 int factorial(int n) { if(n
[C++] 명품 C++ Programming 1장 연습문제(이론)
·
Major/C&C++
틀린 거 굵게 표시해놓음 1. ② 소프트웨어 기업 2. ④ 기계어를 익혀서 프로그램을 작성하는 것이 좋은 개발자가 되는 지름길이다 3. ④ Fortran 4. ② C 5. ③ 6. ② 7. ① 8. ④ 9. C, 캡슐화 10. ② 호환성 11. ③ 인라인함수 - 절차 지향 언어 특징 12. 1) TV는 TV안의 여러 부품들이 들어가 보관되어있다. * 캡슐화 : 데이터를 캡슐로 싸서 외부의 접근으로부터 데이터를 보호함 2) >는 경우에 따라 값이 true나 false가 출력된다. * 다형성 : 하나의 기능이 경우에 따라 서로 다르게 보이거나 다르게 작동하는 현상 3) 메뚜기는 생물이다. 그러면 생물이 부모, 자식이 메뚜기임. 생물의 특징중 하나는 물질대사를 한다는 것이므로 메뚜기도 물질대사를 한다. * 상..
[데이터 통신] Chapter 3 네트워크 기술
·
Major/Computer Network
#쉽게 배우는 데이터 통신과 컴퓨터 네트워크 책을 바탕으로 작성하였습니다. 01 교환시스템 - 네트워크 양단의 패킷은 전송경로 중간에 위치한 교환 시스템을 거친다 1. 회선 교환 방식 : 연결형 서비스 - 고정 대역폭의 전송률을 지원해 네트워크 구조가 단순 - 안정적인 정송률로 데이터를 전송할 수 있다. 2. 패킷 교환 방식 : 비연결형 서비스를 제공 - 가변 대역의 전송률을 지원해 네트워크 구조가 복잡 - 가상 회선 방식과 데이터 그램 방식이 있다. 3. 교환 시스템의 종류 > 전용 회선 방식 : 송신, 수신 호스트가 전용 통신 선로로 데이터 전송 > 교환 회선 방식 : 전송 선로 하나를 다수의 사용자가 공유 ex) 전화망, 공중 통신망 1) 회선 교환 : 데이터 전송 전에 양단 사이의 연결을 설정 ⓐ..
[데이터 통신] Chapter 2 네트워크 모델
·
Major/Computer Network
#쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 책을 바탕으로 작성하였습니다. 01 계층구조의 개념 1. 계층적 모듈구조 1) 모듈화 : 복잡한 시스템을 기능별로 모듈화하여 시스템 구조를 단순화 시킴 2) 계층 구조 - 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조 - 장점 전체 시스템을 이해하기 쉽고 설계 및 구현에 용이 시스템 구조를 단순화 시키고, 내부기능의 변화가 전체 시스템에 영향 안줌 3) 오류 제어 - 데이터 링크 계층에서 물리적 전송 오류를 전담하고, 상위계층에서도 전송 오류 문제를 다룬다. 데이터 변형 오류 : 데이터가 깨져서 도착 데이터 분실 오류 : 데이터가 도착하지 못함 4) 흐름 제어 - 수신 호스트의 버퍼 처리 속도보다 송신 호스트가 제이터를 전송하는 속도가 ..
[Lisp] Ch 6 - 리스트 자료구조 (List Data Structures)
·
Major/Lisp
1. 빌트인 함수 1) CONS : 콘즈셀을 만든다 2) LIST : 새로운 리스트를 만든다. 3) APPEND : 리스트에 추가한다. 4) ASSOC : 전체 테이블에서 그것의 키를 받으면 그 키와 값을 출력한다. 5) PUSH, POP : 스택구조에서 PUSH 와 POP이랑 같다. 6) REVERSE : 리스트안 원소들을 뒤집는다. 7) NTH : 리스트중 N번째 원소를 출력한다. 8) NTHCDR : CDR을 N번 적용한 값을 출력한다. 9) LAST : 리스트의 맨 마지막 원소를 출력한다. 8) REMOVE : 리스트에서 원소를 제거한다. 9) KEYWORDP : 키워드인지 확인한다. 10) MEMBER : 리스트의 멤버인지 확인하는 함수(주소를 확인) * 요소 자체를 비교하려면 :TEST #'E..
[자료구조] 이진 트리의 표현 및 순회
·
Major/Data Structure
1. 배열 표현법 - 이진트리를 완전 이진 트리라고 가정하고 연속적으로 값을 할당한다. - 인덱스 0은 사용하지 않는다. - 완전 이진 트리가 아닐 시 기억공간의 낭비가 심하다. 1) 특징 - 노드 i의 부모 노드 인덱스 = i/2 - 노드 i의 왼쪽 자식 노드 인덱스 = 2i - 노드 i의 오른쪽 자식 노드 인덱스 = 2i+1 2. 링크 표현법 - 트리에서의 노드가 구조체로 표현되고, 각 노드가 포인터를 가지고 있어서 이 포인터를 이용하여 노드와 노드를 연결하는 방법이다. - 하나의 노드는 3개의 필드를 가지는데, 왼쪽자식 노드의 포인터, 데이터, 오른쪽 자식의 포인터를 가진다. > 코드 구현 #include using namespace std; typedef struct TreeNode { int d..
[자료구조] 이진트리의 성질*
·
Major/Data Structure
노드의 차수 : 어떤 노드가 가지고 있는 자식 노드의 개수 전체 트리의 차수 : 트리가 가지고 있는 노드의 차수중에 가장 큰값 트리의 레벨 : 트리의 각층에 번호를 매기는 것, 루트의 레벨은 0또는 1이고 한층씩 내려갈 수록 1씩증가 트리의 높이 : 트리가 가지고 있는 최대레벨을 말한다. 이진트리의 성질 - N개의 노드를 가진 이진트리는 N-1개의 간선을 가진다. 높이가 h인 이진트리는 최소 h개의 노드를 가지며, 최대 2^(h+1)-1 개의 노드를 가진다.(루트의 레벨을 0이라 가정) - 노드의 개수가 1 이상인 이진트리에서 차수(분지수)가 i인 노드의 개수를 Ni라고 할때, N0 = N2 +1 이다. 증명 ) n = n0+n1+n2 (전체 노드의 개수는 차수가0인 노드와 1인노드와 2인 노드의 개수를..