2022/자료구조(2)
-
자료구조 3주차 - 연결리스트
서울여대 이병걸 교수님의 자료구조 수업을 들은 뒤 복습용으로 작성한 글입니다. 교재: 파이썬과 함께하는 자료구조의 이해 연결리스트는 리스트로 구현된 자료구조로 단순연결리스트, 이중연결리스트(중복연결리스트), 원형연결리스트 세종류가 있다. 단순연결리스트란 동적 메모리 할당을 이용해 노드들을 한 방향으로 연결하여 리스트를 구현하는 자료구조로, 노드는 레퍼런스를 이용하여 다음 노드를 가리키도록 만든다. 여기서 동적 메모리 할당이란 항목이 추가되면 리스트를 확장하고, 항목이 삭제되면 리스트를 축소시키며 새 메모리에 할당하는데 이를 동적 메모리 할당이라고 한다. 레퍼런스는 메모리 주소를 의미한다. 단순연결리스트에서 항목을 삽입하거나 삭제할 때 레퍼런스만 수정하면 되기 때문에 항목들의 이동이 필요없다. 하지만 항목..
2022.04.15 -
자료구조 2주차 - 자료구조를 배우기 위한 준비
서울여대 이병걸 교수님의 자료구조 수업을 들은 뒤 복습용으로 작성한 글입니다. 교재: 파이썬과 함께하는 자료구조의 이해 1. 자료구조와 추상데이터 타입 자료구조란 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체이다. 데이터를 정돈하는 목적은 프로그램에서 저장하는 데이터에 대해 탐색, 삽입, 삭제 등의 연산을 효율적으로 수행하기 위함이다. 그래서 자료구조를 설계할 때 데이터와 데이터 관련 연산들도 함께 고려하여 설계 해야 한다. 추상 데이터 타입은 데이터 저장 구조 생성 후 실제 저장되는 데이터를 처리하기 위한 연산을 정의하는 관계를 정형화 한 것으로 데이터와 그 데이터에 대한 추상적* 연산들로 구성된다. *추상적: 연산을 구체적으로 어떻게 구현해야 한다는 세부 명세를 포함하고 있지 않다는 의미 추상..
2022.04.04