본문 바로가기

프로그래밍/알고리즘,자료구조

(2)
Linked List C로 알아보는 링크드리스트(Linked List) Linked List 설명 Linked List는 연결 리스트라고도 하며 데이터가 다음 데이터랑 연결되어 1차원 배열처럼 되어있습니다. 데이터 - 데이터 - 데이터 ... 이런 구조로 되어있으며 처음 혹은 끝 부분에서부터 데이터에 접근 할 수 있습니다. 그럼 C의 포인터를 이용한 Linked List를 알아보도록 하죠. C의 포인터와 동적할당 간단하게 C의 포인터를 설명 드리면 다른 변수를 가리킬 수 있는 자료형입니다. 가리키는 변수의 주소값을 저장해서 해당 주소값을 참조할 수 있습니다. 이 포인터를 사용해서 Linked List를 구현할 수 있습니다. 데이터 안에 다음 데이터를 가리키는 포인터를 넣고 이를 이용해서 다음 데이터를 참조하게 됩니다. 동적할..
각 부분 집합 원소들의 합의 개수 구하기 각 부분 집합 원소들의 합의 개수란 무엇인가? 한 집합에는 여러 개의 부분 집합이 존재하기 때문에 원소가 숫자로 되어 있는 집합의 부분 집합마다 원소들의 합을 구할 수 있습니다. 중복된 합은 1개로 세어 이러한 합들의 개수를 구하는 문제입니다. 부분 집합 부분 집합의 개수는 원소의 개수 n으로 표현할 수 있습니다. 2^n개입니다. 2^n개 모두 각각의 원소들의 합을 모두 구해야 하기 때문에 무수히 큰 수는 되지 않고 간단히 원소의 개수가 4개로 가정하고 예를 들어 봅시다. {1,2,3,4}의 부분 집합은 다음과 같습니다. 공집합, {1}, {2}, {3}, {4}, {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, {3,4}, {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4}, ..