이진트리에서의 정렬에 대해서 질문드립니다.
갤3
질문 제목 : 이진트레에서의 정렬에 대하여 질문드립니다질문 내용 :처음 이진트리를 만들었을때 숫자에 대하여 이진트리를 만들었다고 합시다
그렇게 만든 이진트리를 이름순으로 재정렬을 해서 만들고싶은데요.
새로운 루트와 노드들을 만들어서 이진트리를 만드는게 나을까요?? 아니면
기존에 있는 트리의 루트와 노드들의 연결을 분해해서 하는게 나을까요??
그리고 기존의 이진트리를 분해해서 다시 재결합한다면 각각의 연결이 분해되면...
어떻게 찾아가서 다시 연결을 하죠?? ㅠㅠ
-
서희
아... 그런방법도 있군요~!
-
다스리
각 트리의 노드의 갯수를 말씀하시는거죠??? 만약 인서트로 노드를 추가할때도 각트리의 포커스에 맞에 넣어주고요??? 숫자로 정렬된 트리는 숫자의 대소에 맞게 넣어주고 알파벳으로 정렬된 트리에서는 알파벳의 순서에 맞게 넣어주고요??
-
돋되다
그리고 만약 데이터의 불필요한 중복을 막고 싶으시다면 트리 노드에는 키값과 그 키값이 가리키는 포인터 를 두고 진짜 데이터는 다른 곳에 관리하면서 포인터로 각각의 키값에 해당되는 주소를 찾아가도록 하면 됩니다.
-
한말글
이때 중요한 점은 각각의 트리에서 데이터들은 서로 같은 갯수(?)를 유지해야 된다는 것입니다. a트리에 데이터를 넣을때는 b트리에도 똑같이 들어가야 된다는 거죠.
-
제나
아항 알겠습니다 ㅎㅎ 그럼 트리를 2개로 만들어봐야겠네용 ㅎㅎ 좋은 답변 감사드립니다 ㅎㅎ
트리구조를 바꾸자니 너무 머리가 아프더라구요.. 뭔가 하려면 할수있는데 코드 줄이 배로 늘어날거같은 기분이... ㅋㅋ 어떤것이 효율성이 좋은지 물어보고 싶었습니다 ㅎㅎ 감사드립니다 -
앵겨쪼
왜냐하면 어떤 하나의 기준으로 정렬된 데이터를 다른 기준으로 정렬하기 위해서는 이전 데이터를 처음부터 끝까지 다 뒤져야 하기 때문입니다. 그 시간보다는 저장공간이 좀더 필요하더라도 각각의 기준에 따라 다르게 정렬된 데이터를 따로 관리하는것이 더 좋을것 같습니다.
-
중독된
200만개라면 저라면 트리 2개를 따로 만들겠습니다. 트리는 이진트리를 사용한다면 AVL트리를 사용하고요. 다른 정렬이 필요할때마다 트리 구조를 바꾸는것보다 각 키값에따라 정렬된 서로다른 트리를 사용하는게 더 효율적으로 보이네요.
-
가이
이름이 하나 두개면 상관이 없는데 만약 데이터의 갯수가 200만개라고하면 ㅠㅠ 어떻게 하시겠어요??
-
달콤이
이름을 기준으로 한 이진트리를 새로 만드는게 더 쉬우니 그냥 새로 만드세요. 그리고 이름 기준과 숫자 기준의 정렬이 따로 필요하다면 이진트리를 두개 만들어 두는게 더 좋다고 생각합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |