CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): parresia (누구게)
날 짜 (Date): 2003년 3월 25일 화요일 오전 08시 17분 22초
제 목(Title): Re: [q] 링크드 리스트..



data structure책을 보시느게 좋을것 같은데요. --;;

개념이 이해가 되신다면 어떻게 만드는지와 어떻게 삽입 삭제를 하는지는
아실테고, 어떤 경우에 사용하는지를 잘 모르신다는 것 같은데...

데이터 스트럭쳐는 여러 종류가 있고, 각각을 언제 사용할지는 결국
프로그램 안에서 어떤 오퍼레이션이 가장 많이 사용되는지와 메모리를
얼마나 사용할 수 있는지 등에 달려 있습니다. 

데이터 스트럭쳐에서 사용하는 중요한 오퍼레이션으로는
1) 데이터 구축
2) 데이터 삽입
3) 데이터 삭제
4) 데이터 검색
5) 소트

등이 있을 수 있죠.(위 5가지정도가 가장 중요한 오퍼레이션이 될것 같네요.)
개념을 이해하셨다니까, 링크트 리스트에서 위 5가지 오퍼레이션이 어떤 정도의
time complexity와 space complexity를 가지는 지는 아실 것이라 생각됩니다.

프로그램 안에서 링크드 리스트를 쓰는 경우는 일반적으로 삽입은 자주 하지만,
삭제나 검색, 소트가 자주 일어날 필요가 없고, 엘리먼트의 랜덤 억세스가 필요
없는 경우나,(왜인지는 아시겠죠?) 복잡한 데이터 스트럭춰를 굳이 만들어 쓰기
싫은 경우가 될것 같습니다.--;; 

음.. 일단 기본은 마스터하셔야 할테니 DS책을 한번정도 정독하시고, 안에 
있는 각각의 구조에 대해 위 5가지 오퍼레이션이 어떤 복잡도를 가지는지 
분석해 보세요. 그리고 나서 실제 프로그램 작성시에는 STL에 제공되는 
list나 vector,map등을 이용해 프로그래밍 하시는 것이 간편할 것이라 
생각됩니다.

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.