전자공학 - 데이터구조 실험

1. 전자공학 - 데이터구조 실험.hwp
2. 전자공학 - 데이터구조 실험.pdf
전자공학 - 데이터구조 실험
데이터구조

1. Linked list
데이터를 저장할 수 있는 각각의 Node를 만들고 이 Node들을 연결시킨 리스트의 개념이 Linked list이다. 데이터를 저장하는 장소와 (Element), 다음 Node를 가리키는 포인터 변수를 저장하는 장소 (Next)를 묶어서 하나의 Node로 만든다. 이렇게 하면 데이터의 저장을 가능하게 하고 다음 Node에 대한 포인터 변수를 갖고 있어 조회도 가능하다. 필요할 때마다 Node (구조체 변수)를 하나씩 동적 할당해서 이들을 연결한다. 리스트는 특성상 데이터를 나란히 저장한다. 그리고 중복된 데이터의 저장을 막지 않는다.

포인터 변수를 조절함으로써 Node끼리의 순서를 바꾸는 것이 가능하고, 이는 데이터의 정렬에 유용하게 쓰인다.

- 출처 : 열혈강의 자료구조 / 저자 윤성우

2. Radix sort
데이터를 정렬하는 방법에는 여러 가지가 있다. 그 중, Radix sort는 각 자리의 숫자를 보면서 Sorting 하는 방법이다. 서로의 숫자의 크기를 비교하는 것이 아닌 데이터의 숫자 자체를 보고 Sorting한다. 입력 데이터에 대해서 어떤 비교 연산도 실행하지 않고 데이터를 정렬할 수 있는 색다른 정렬 기법이다.

십진수 에서는 각 자리수가 0~9까지의 값만 가지는 것에 착안한다면 10개의 버켓(bucket)을 만들어서 입력 데이터를 각 자리수의 값에 따라 상자에 넣는다. 그리고 각 왼쪽상자부터 순차적으로 버켓 안에 들어 있는 숫자를 순차적으로 읽는다.

이를 1의자리 10의자리 100의자리...순서대로 하면 최종적으로 정렬된 데이터들을 얻을 수 있다.

3. 프로그램 작성
....