본문 바로가기

자료구조12

자료구조(2) 연결리스트 + 더미, 머리추가, 정렬기준 함수 정의 필요할 때마다 바구니의 역할을 하는 구조체 변수를 하나씩 동적 할당해서 이들을 연결한다 (메모리 공간을 마련하는 유일한 방법은 malloc 또는 그와 유사한 성격의 함수) 참고로 자료구조는 코드를 통해서 공부하는 과목이 아니라, 코드를 통한 학습 이전에, 그림으로 설명하고 이해해야 하는 과목이다. ADT의 정의는 어렵지 않으니 별 것 아니라고 생각할 수 있다. 하지만 신경쓰지 않으면 자료구조에 대한 잘못된 이해를 갖게될수도있다. 따라서 가급적 다음 세가지 순서는 계속 상기시켜야한다 자료구조의 ADT 정의 정의한 ADT의 구현 구현이 완료된 자료구조의 활용 위의 과정을 모두 밞지않으면, 특히 ADT의 정의를 생략하면 구현도 활용도 이상한 형태로 흘러가기 쉽다. head가 가리키는 노드를 그냥 삭제해 버리면.. 2022. 3. 16.
자료구조(1) 리스트 배열 추상자료형(ADT) : 구체적 능의 완성과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열한 것 (카드의삽입, 동전의 삽입, 지폐의 삽입 등등)을 가르켜 ADT라고한다.) 컴퓨터 공학적 측면에서 단순 구조체(데이터값만 있는)의 정의만으로 wallet이라는 자료형의 정의가 완성되는 것이 아니다. wallet을 기반으로 하는 연산의 종류를 결정하는 것도 자료형의 정의로 일부(지폐의 삽입같은 기능)로 보아야 하고, 이러한 연산의 종류가 결정되었을 때 자료형의 정의는 완성된다. 최소한 구조체 wallet의 의는 ADT에 포함시켜야하는가? ㄴㄴ 물론 필요하다면 포함시켜도 된다. 중요한 정보라면 무엇이든 추가할 수 있으며, 그 방법에는 제한이 없다. 하지만 불필요한 것을 포함시키는 것은 바람직하지 않다. wal.. 2022. 3. 16.