반응형 자료구조9 [자료구조] 다항식 (Polynomials) 배열을 사용하여 다항식을 관리할 수 있습니다. 많은 방법들이 있지만 대표적으로 Dense representation 과 Sparse representation이 있어요. Dense representation은 모든 다항식의 항과 계수가 0인 모든 항을 포함하는 것을 말합니다. Dense representation의 장점으로는 아주 간단한 연산 방법으로 다항식을 계산할 수 있다는 것입니다. 하지만 여전히 문제점이 있어요. 모든 다항식의 항과 계수가 0인 모든 항을 포함하다 보니 공간의 낭비가 생길 수 밖에 없고, 대부분의 항들이 계수가 0인 상황이 더 많을 겁니다. 그래서 Sparse representation을 사용하기도 합니다. Sparse representation은 각각의 다항식의 항들이 지수와 계.. 2024. 4. 7. [자료구조] 구조체와 공용체 (Structures and Unions) 이번에는 구조체와 공용체에 대해서 알아보겠습니다. 먼저 구조체는 데이터 요소들의 집합이라고 할 수 있습니다. 각각의 데이터 요소들은 타입과 변수의 이름을 통해 구별됩니다. 이해를 돕기 위해 예를 먼저 들어보겠습니디. struct { char name[10]; int age; float salary; } person; 위의 구조체는 현재 이름이 person이고 3개의 fields를 가진다고 말합니다. 또한 이때 구조체의 크기는 fields의 크기의 합입니다. 여기서는 char: 10byte, int: 4byte, float: 4byte 이므로 18byte가 구조체의 크기가 됩니다. 구조체의 field에 접근할때는 . 이라는 operator를 사용합니다. strcpy(person.name, "james");.. 2024. 4. 7. [자료구조] 배열(Arrays) 배열은 한 타입의 자료형을 연속적으로 할당하는 것을 말합니다. 만약 한 반이 30명인 학생들의 이름을 사용하고 싶다면 30개의 변수를 각각 할당하기 보단 배열을 이용하여 선언하는 것이 더욱 쉽고 효율적일 것입니다. 배열의 선언은 다음과 같이 할 수 있습니다. int list[5] = {1,2,3,4,5}; int형 배열 list는 5개를 저장할 수 있는 배열로 선언되었습니다. 또한 각각의 요소에는 앞에서부터 1,2,3,4,5를 저장하도록 하였습니다. 여기서 각각의 값과 주소에 접근 하는 방법은 다음과 같습니다. Variables Memory Address list[0] base address = a list[1] a + sizeof(int) list[2] a + 2 * sizeof(int) list[3].. 2024. 4. 7. 이전 1 2 다음 반응형