
1. Examples in Open-source SW(OSS)1) Linux (1) Linux에 관하여- 리눅스는 가장 많이 알려져있고 가장 널리 쓰이고 있는 오픈소스 운영체제이다.- 운영 체제로서 리눅스는 컴퓨터의 다른 모든 소프트웨어 아래에 있는 소프트웨어로, 이러한 프로그램으로부터 요청을 받고 이러한 요청을 컴퓨터의 하드웨어로 전달합니다. (= 운영체제는 하드웨어와 소프트웨어 사이 인터페이스 역할을 함) (2) Unix와 Linux의 차이점- Unix는 Bell 연구실에서 Ken Thompson, Dennis Ritchie 일동에 의해 1970년대에 개발된 운영체제이다.- Unix와 Linux는 많은 방면에서 비슷하지만, 사실 Linux는 Unix와 구별할 수 없도록 만들어졌다.- ..

* 핵심 역량 정의1) 오픈 소스 소프트웨어 개념 및 생태계 이해2) 다양한 오픈소스 소프트웨어 이해3) 오픈소스 관리도구 및 커뮤니티에 대한 경험4) 오픈 소스 기반 기초 개발 능력 1. Open-source1) 정의 ⭐- 사람들이 수정하고 공유할 수 있는 것(디자인은 공개적으로 접근 가능)- 물리적 형태나 구조도 가능- 컴퓨터 시스템 속 소프트웨어로 생각해보자면, 사람들이 수정하고 공유할 수 있는 소프트웨어를 의미함(Open Source Sowftware) 2) Open Source Software(OSS)⭐- 사람들이 수정하고 공유할 수 있는 소프트웨어를 의미 3) 오픈소스 소프트웨어의 역사(0)- Free Software Foundation의 Richard Sta..

[ 2차시 ]정답: 구현 정답: 4번 설계해설: 설계 단계의 핵심 단어는 '알고리즘'이다. 정답: 2번 구현 레벨해설: Abstract(추상화)는 구현과 거리가 멀다 정담: 2번 ADL 변환기 정답: 3번해설: 특정 Programming 언어로 작성되어 있지 않다. 이건 목적이다. 정답: 2번해설: x...*3*2*1*1은 팩토리얼 정의에 맞지 않기 때문에 x 정답: 4번 수행 속도해설: 시스템 스택에 activation record가 쌓임 = 오버 헤드 정답: 3해설: 순환함수는 계속 시스템 스택에 activation record가 쌓인다. (오버 헤드) 정답: 4번해설: 프로그램의 모든 문장에 항상 step count 카운팅 문장을 넣는 것은 번거롭고 어렵다. 정답: 1번해설..

모듈 1. 스택 ADT와 순차 표현 1. 스택 추상 데이터 타입 1) 스택(Stack)이란? "쌓아 놓은 더미" - 정의: 삽입과 삭제가 한쪽 끝, top에서만 이루어지는 유한 순서(순서가 중요한) 리스트 - finite ordered list 2) 스택의 특징 - 후입선출(LIFO:Last-In First-Out, FILO: First-In Last-Out 구조) 리스트 특징: 가장 최근에 들어온 데이터가 가장 먼저 나감 기능: 삽입(push), 삭제(pop) 별명: 스택을 pushdown 리스트라고도 함 3) 스택 기본 연산 - push(): 스택에 데이터를 추가 - pop(): 스택에서 데이터를 삭제 - create(): 빈 스택을 생성 - is_empty(s): 스택이 공백 상태인지 검사 - is..

1. 헤더 노드 1) 기존 연결 리스트 처리 알고리즘 - 문제점: 첫 번째 노드나 마지막 노드, 그리고 리스트가 공백인 경우에 따라 처리 방법이 각기 달라, 서로 예외적인 경우로 처리해야 함 2) 헤더 노드(header node)를 추가하는 방법 - 상기 문제가 되는 예외 경우를 가급적 제거하고, 코드를 간단하게 하기 위한 해결책으로 사용 가능 - 헤더 노드에는 리스트를 처리하는데 1️⃣필요한 포인터나 2️⃣통계 정보를 미리 저장 리스트의 첫 번째 노드를 가리키는 포인터 리스트의 길이 마지막 노드를 가리키는 포인터 등의 필요 정보 ⭐헤더 노드의 구조가 리스트의 노드 구조와 달라도 문제 없음 3) 헤더 노드를 가진 연결 리스트의 정의 typedef struct listNode { /*리스트 노드 구조*/ ..

모듈1. 자유 공간 리스트 1) 메모리의 획득과 반납 방법 (1) 연결 리스트가 필요로 하는 두 가지 연산 [방법 1] : 데이터 필드와 링크 필드를 가진 하나의 공백 노드를 획득하는 방법 (프로그램 수행 중, 즉석에서 필요한 메모리를 OS에서 malloc()하는 방식) [방법 2] : 사용하지 않는 노드는 다시 반납하여 재사용하는 방법 (미리 malloc()하여 free space list를 만든 후, 여기서 할당/회수하는 방식) (2) [방법 2] 자유 공간 리스트(free space list)를 만들어 놓은 경우 - OS와 분리를 해보자! 추가로 우리가 만들어야 하는 함수1 : getNode() - malloc() 대응 : 데이터와 링크 필드로 되어 있는 새로운 공백 노드를 free space li..

1. 단순 연결 리스트의 구체적 구현(C Implementation) 1) 리스트 생성 알고리즘 2) 원소를 첫 번째 노드로 삽입 3) 노드의 삽입 - 주어진 리스트 L에서 원소 값이 x인 노드를 p가 가리키는 노드 다음에 삽입 - 코드로도 확인해보자 insertNode(L, p, x) // 리스트 L에서, p 노드 다음에 원소 x를 삽입 // p가 null인 경우는, 현재 pointing하는 노드가 없는 경우임 newNode

1. 단순 연결 리스트의 정의 및 특징 정의: 하나의 링크 필드를 가진 노드들이, 모두 자기 후속 노드와 연결되어 있는 노드 열(list) 특징: 마지막 노드의 링크 필드는 리스트의 끝을 표시하는 null 값을 가짐 별칭: 선형 연결 리스트(linear linked list), 단순 연결 선형 리스트(singly linked linear list), 연결 리스트(linked list), 체인(chain) 2. 삽입과 삭제 연산 개념 1) 원소 삽입 연산 (1) Node 삽입 연산이란? list에는 포인터 변수, ptr이 가리키는 list로서, 기존에 10과 20이 있음. list의 추적을 위한 포인터 변수, node_tracer를 선언하고 이를 ptr과 같은 노드를 지칭하게 함 50을 가진 새로운 노드를..
- Total
- Today
- Yesterday
- 삼각형과세변
- 약수들의합
- 25314
- 붙임성 좋은 총총이
- 브라우저뜻
- 알고리즘
- SW생명주기
- 백준
- 베라의 패션
- C언어
- 파이썬
- 데이터추상화
- 27323
- 약수
- 배수
- 개발계발
- 칸토어 집합
- SWLIfeCycle
- 직사각형
- 브라우저
- 피보나치수5
- C99
- 25304
- 다음소수
- python
- 26069
- 4779
- 점근적표기
- 배수와약수
- 과제안내신분
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |