다음과 같이 순서쌍이 있을때..
(A,B)
(D,G)
(C,E)
(B,C)
(C,F)
이렇게 있을때
A,B,C,E,F 와 D,G
로 분류하는 알고리즘..부탁해여..
위처럼 분류한건..
(F1,F2)는 F1와 F2가 연결되었다는 뜻입니다. 그러므로 F1,F2는 같은 분류
(A,B),(B,C) 라고 하면 A,B,C는 같은 분류입니다.
(A,B),(C,D) 라고 하면 A,B 하고 C,D로 나누어지겠죠..
위와 같이 분류시키는 알고리즘 부탁합니다..대충이라도 리플 달아주세염..
트리는 하나 원소에 두개의 방향만 갖구 있죠.
예)
A -> B -> C -> E -> F
| |
| Z
|
L -> R -> Q
|
S
뭐 대충 이렇게 되는게 트리라는 구조(나무가지라 생각하세여)인데요 (혈통을 갖구 있어서 거꾸루 가면 안되여)
여기 반해 다수개의 방향과 로프 구조를 갖는 것을 그래프라고 하고
예)
A -> B -> C -> A 또는 A -> C
-> B
-> D
네트워크는 그래프에 쌍방향을 갖는 거죠. A <-> B -> C
트리 검색은 자료구조에 대한 책을 찾아 보믄 무지무지 자세하게 나오죠(거의 C소스)
그럼 일단 님에 대한 해결 방안은 이진 트리 구조라 생각하고 제시 하겠슴당.
(그래프나 네트워크는 딴 고수님들두 도와 주시길 지가 실력이 딸려서리염)
-----------------------------------------------------------------------
첫번째 순서쌍에서 두번째 값 추출
첫번째 순서쌍 스택 1번에 저장,
첫번째 순서쌍 파일에 저장
전체 순서쌍에서 첫번째 순서쌍 삭제
첫번째 순서쌍, 두번째 값으로 남아있는 순서쌍의 첫번째 값 검색
존재 하면 두번째 값과 저장을 스택 1번에 저장
찾은 두번째쌍 파일에 저장
찾은 두번째 쌍에서 두번째 값 추출
전체 순서쌍에서 두번째 순서쌍 삭제
찾은 두번째 쌍 두번째 값으로 검색
존재 하면 찾은 세번째 쌍 저장 (추출, 삭제, 검색을 반복.........)
존재하지 않으면 스택 1번 맨 위 값으로
스택의 갯수가 1개 이상인 경우 다시 검색
스택의 갯수가 0인 경우 끝내거나, 새로운 파일 생성
-----------------------------------------------------------------------
파일에 저장 된거, 나중에 같은거 다 지우면 됩니다.
물론 파일이라고 쓴데는 스티링을 쓰면 됩니다. 스트링이든 스트링 리스트든 저장 되는거 암거나
스택은 Last in First out(LIFO)인거 아시죠? 만약 스트링 쓴다면 맨 마지막꺼 꺼내쓰면 되겠죠?
도움이 됐으면 하네여,,
그럼 나무.. 였슴당..
순서쌍 갯수 N
어린왕자 wrote:
> 다음과 같이 순서쌍이 있을때..
> (A,B)
> (D,G)
> (C,E)
> (B,C)
> (C,F)
>
>
> 이렇게 있을때
> A,B,C,E,F 와 D,G
> 로 분류하는 알고리즘..부탁해여..
>
> 위처럼 분류한건..
> (F1,F2)는 F1와 F2가 연결되었다는 뜻입니다. 그러므로 F1,F2는 같은 분류
> (A,B),(B,C) 라고 하면 A,B,C는 같은 분류입니다.
> (A,B),(C,D) 라고 하면 A,B 하고 C,D로 나누어지겠죠..
>
> 위와 같이 분류시키는 알고리즘 부탁합니다..대충이라도 리플 달아주세염..
>
>
>
>