✍🏻배움일지/자료구조
[자료구조] 수행시간 측정
[자료구조] 수행시간 측정
2023.11.06이전 정리글 ↓ [자료구조] 5. 포인터(Pointer) 이전 정리글 ↓ [자료구조] 4. 배열의 응용 : 다항식 이전 정리글 ↓ [자료구조] 3. C언어 배열과 구조체글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 이전 정리글 ↓ [자료구조] 2. 자료 w8err.tistory.com 앞서 순환구조에 대해 알아봤는데, 이런 알고리즘들의 성능은 어떻게 될까? 그리고 어떤 알고리즘이 가장 우수할까? 알고리즘의 복잡도 분석하기 여러분이 오랜만에 장을 보러 시내에 나간다고 가정하자. 방법이 여러가지 있을 것이다. 1) 버스를 타는 방법 2) 지하철을 타는 방법 3) 택시를 타는 방법 4) 자차를 이용하는 방법 우선 어떤 알고리즘이 좋다 안좋다 말하기 전에, 무엇을 기준으로 평가할지 정해야 한다. 가격..
[자료구조] 순환(recursion) / 반복(iteration)
[자료구조] 순환(recursion) / 반복(iteration)
2023.10.25이전 정리글 ↓ [자료구조] 5. 포인터(Pointer) 이전 정리글 ↓ [자료구조] 4. 배열의 응용 : 다항식 이전 정리글 ↓ [자료구조] 3. C언어 배열과 구조체글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 이전 정리글 ↓ [자료구조] 2. 자료 w8err.tistory.com 이번엔 순환에 대해 알아보자. 순환이란, 어떤 알고리즘&함수가 자기 자신을 호출해 계~속 순환하여 문제를 해결하는 프로그래밍 기법 중 하나다. 재귀함수라고 부르기도 한다. 코드로 한번 알아보자. int factorial_재귀함수(int n) { printf("팩토리얼 %d\n", n); if (n
[자료구조] 5. 포인터(Pointer)
[자료구조] 5. 포인터(Pointer)
2023.10.23이전 정리글 ↓ [자료구조] 4. 배열의 응용 : 다항식 이전 정리글 ↓ [자료구조] 3. C언어 배열과 구조체글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 이전 정리글 ↓ [자료구조] 2. 자료구조 기본 개념[자료구조] 1. 자료구조 쉽게 이해하 w8err.tistory.com 이번 정리글에선 자료구조에서 필수적으로 알아야 하는, C언어의 포인터에 대해 제대로 알아보려 한다. 포인터 포인터의 사전적 정의는 이렇다. 변수의 메모리 공간(주소)를 가리키는 변수를 일컫는다. 말 그대로, 다른 변수의 주소를 가리키는 변수다. 모든 변수는 주소를 가지고 있다. 컴퓨터의 메모리는 Byte로 구성되어 있으며, 각 바이트마다 순차적으로 주소가 매겨진다. int n1 = 300; int *p;// int 자..
[자료구조] 4. 배열의 응용 : 다항식
[자료구조] 4. 배열의 응용 : 다항식
2023.10.22이전 정리글 ↓ [자료구조] 3. C언어 배열과 구조체 글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 이전 정리글 ↓ [자료구조] 2. 자료구조 기본 개념[자료구조] 1. 자료구조 쉽게 이해하기 글을 쓰기에 앞서, C언어를 기반으로 서술함을 w8err.tistory.com 다항식 우리가 흔히 아는 다항식을, 배열을 사용해 구현해 보자. 다항식은 다음과 같이 생겼다. 사진에 서술되어 있듯 각각 a = 계수, x^2 = 변수, 2 = 차수 라 부른다. 가장 큰 차수를 다항식의 차수라 명명한다. ( 3x⁵ + 6x⁴ + 0x³ + 0x² + 0x + 10 ) + ( 7x⁴ + 0x³ + 5x² + 0x + 1 ) = C 이 식을 배열로 구현해서, C의 값을 구해보자. 다항식 덧셈 프로그램 1 해당 ..
[자료구조] 3. C언어 배열과 구조체
[자료구조] 3. C언어 배열과 구조체
2023.10.22글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 이전 정리글 ↓ [자료구조] 2. 자료구조 기본 개념 [자료구조] 1. 자료구조 쉽게 이해하기 글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 자료구조(Data Structure) 자료구조의 사전적 의미는 이렇다. 컴퓨터 과학에서 효율적인 접근 및 수정 w8err.tistory.com 배열(Array) 배열의 사전적 정의는 다음과 같다. 같은 타입의 변수들로 이루어진 유한 집합으로 정의 같은 자료형(int, char 등...)이 한 데 모여있다고 이해하면 쉽다. 많은 수의 데이터를 관리해야 한다면, 배열을 사용하면 된다. 50개의 int형 변수를 선언해보자. #include int main() { int n1, n2, n3, n4, n5 ..
[자료구조] 2. 자료구조 기본 개념
[자료구조] 2. 자료구조 기본 개념
2023.10.21이전 정리글 ↓ [자료구조] 1. 자료구조 쉽게 이해하기 글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 자료구조(Data Structure) 자료구조의 사전적 의미는 이렇다. 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저 w8err.tistory.com 글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 목차 ▷ System Life Cycle의 개념 ▷ 알고리즘 명세 Algorithm Specification System Life Cycle의 개념 System Life Cycle은 보통 S/W Life Cycle이라고도 칭한다. 소프트웨어 개발의 과정을 단계별로 나눈 것이다. 보통은 위와 같이 요구사항 분석 - 시스템 분석 - 설계 - 구현 - 검증 5단..
[자료구조] 1. 자료구조 쉽게 이해하기
[자료구조] 1. 자료구조 쉽게 이해하기
2023.10.18글을 쓰기에 앞서, C언어를 기반으로 서술함을 알립니다. 자료구조(Data Structure) 자료구조의 사전적 의미는 이렇다. 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 위키백과 '자료구조' 中 어려워 보이지만, 생각보다 자료구조는 일상에서 많이 접할 수 있다. 가령 사전같은 경우, 한 언어의 거의 모든 단어(자료)가 체계적으로(구조적으로) 담겨져 있다. 가끔씩 길거리에서 볼 수 있는 트럭 안의 쌓인 박스들도 자료구조의 한 모습일 수 있다. 회사 내 조직도 또한 자료구조의 한 모습이고, To-Do List 도 마찬가지다. 자..