10학번 후배 동생녀석이 자료구조가 어렵다고 알려달라고 하길래,
몇년만에 자료구조책을 보면서 알려주었습니다.
그 김에 이렇게 오랜만에 자료구조에 대해서 글을 쓰는군요.
자료구조는 많은 것들의 기본이 되기 때문에 매우 중요한데, 오랜만에 다시 둘러보니, 새롭고 좋네요. ^^
연결리스트 관련 ADL 작성시 생각할 것
노드 추가를 위한 새로운 노드 생성시 생각할 것
사실 ADL만 잘 작성할 수 있어도, 해당 부분에 대한 알고리즘을 짠것이기 때문에, 코딩에 있어서도 별 문제가 없어집니다.
이 글과 연계하여 실제 ADL 작성에 관련된 글들도 한번 포스팅 해보아야 겠군요 ^^
몇년만에 자료구조책을 보면서 알려주었습니다.
그 김에 이렇게 오랜만에 자료구조에 대해서 글을 쓰는군요.
자료구조는 많은 것들의 기본이 되기 때문에 매우 중요한데, 오랜만에 다시 둘러보니, 새롭고 좋네요. ^^
연결리스트 관련 ADL 작성시 생각할 것
1. 리스트 L이 NULL인지 확인하고 예외처리를 한다. 2. 포인터 p가 NULL인지 확인하고 예외처리를 한다. 3. 첫 노드에 관련된 경우 L에 대한 사후 처리를 한다. 4. 마지막 노드에 관련된 경우 마지막 노드에 대한 사후 처리를 한다. 5. 원하는 결과를 얻기 위한 비교, 또는 반복문을 도출한다. L : 연결리스트를 가리키는 포인터 p : 연결리스트에 관련된 순회포인터(또는 지정포인터) |
노드 추가를 위한 새로운 노드 생성시 생각할 것
1. 노드를 생성한다. 2. 노드에 데이터를 입력한다. 3. 노드의 링크를 처리한다. (상황에 따라 NULL 또는 어딘가로의 링크) ex) newNode <- getNode(); newNode.data <- x; newNode.link <- NULL; // 또는 이 코드는 쓰지 않는다. |
사실 ADL만 잘 작성할 수 있어도, 해당 부분에 대한 알고리즘을 짠것이기 때문에, 코딩에 있어서도 별 문제가 없어집니다.
이 글과 연계하여 실제 ADL 작성에 관련된 글들도 한번 포스팅 해보아야 겠군요 ^^
'General > Algorithm' 카테고리의 다른 글
[자료구조] Heap, 히프, 최대히프, 최소히프 (0) | 2012.02.22 |
---|---|
[알고리즘] 정렬 알고리즘 - 퀵 정렬(QuickSort) 기본 알고리즘 (2) | 2009.11.30 |
[알고리즘] 기초 정렬 알고리즘 - 쉘 정렬(ShellSort) (0) | 2009.11.30 |
[알고리즘] 기초 정렬 알고리즘 - 삽입 정렬(Insertion Sort) (0) | 2009.11.30 |
[알고리즘] 기초 정렬 알고리즘 - 버블 정렬(Bubble Sort) (0) | 2009.11.30 |