본문 바로가기

자료구조21

[자료구조] 3. 배열, 구조체, 포인터 3.1 배열 A[i] - i: 시작번지로부터 (sizeof(double)) 크기 만큼의 offset --> O(1) random lookup time 처리해야 할 각 데이터의 ID를 배열의 index로 사용할 수 있는 경우, 간단하고 읽기 쉬운 알고리즘 작성이 가능하다. 배열의 응용: 다항식 #1 모든 차수의 계수값을 배열에 저장한다. degree: 다항식의 차수 저장 coef: 모든 차수에 대한 계수값 저장 #2 다항식에서 0이 아닌 항만을 하나의 전역 배열에 저장한다. : (계수, 차수) 형식으로 배열에 저장한다. expon: 차수를 저장하는 변수 ▷ 다항식 덧셈 : A와 B의 차수를 비교하여(expon), 차수가 같으면 계수를 더해서 C로 옮기고, 차수가 다르면 A와 B 중에서 차수가 큰 항을 C로.. 2023. 10. 26.
[자료구조] 2. 순환 2.1 순환의 소개 ▶ Divide and conqure (분할정복) vs. Dynamic Programming(동적 프로그래밍) Divide and conqure: 큰 문제를 더 작은 하위 문제로 나누고, 각 하위문제를 독립적으로 해결한 다음, 그 결과를 합쳐서 전체 문제를 해결하는 방법 --> Recursive way (재귀적 방법) Dynamic programming: 하위 문제의 해결 결과를 저장하고, 나중에 동일한 하위 문제를 다시 해결하는 대신, 저장된 결과를 활용하여 중복 계산을 피하는 방법 --> Iterative way (반복적 방법) ▶ Activation Record : 컴퓨터 프로그램에서 함수, 서브루틴 호출 시 생성되는 데이터 구조 --> 함수가 호출되었을 때 필요한 정보, 로컬 .. 2023. 10. 26.
[자료구조] 1. 자료구조와 알고리즘 1.1 자료구조와 알고리즘 ▶ 알고리즘의 조건 입력: 0개 이상의 입력 출력: 1개 이상의 출력 명백성: 각 명령어의 의미는 모호하지 않고 명확해야 한다. 유한성: 한정된 수의 단계 후에는 반드시 종료되어야 한다. (예외: 운영체제) 유효성: 각 명령어들이 실행 가능한 연산이어야 한다. ▶ Property of Algorithm Corectness: 알고리즘이 해결하고자 하는 목표에 얼마나 근접했는지 (error rate) Precision: 서로 다른 input에도 유사한 corectness이면, precision이 높다. Determinism: 동일한 input에도 서로 다른 결과이면, determinism이 낮다. ▶ 32-bit OS vs. 64-bit OS 32-bit OS: 메모리 주소 단위가.. 2023. 10. 26.