아카이브/자료구조 3

[리스트] 리스트의 이해와 종류

[리스트] 리스트의 이해와 종류 리스트 자료구조 - 데이터를 나란히 저장하며 중복된 데이터의 저장이 가능한 자료구조- 스택, 큐, 덱과 같은 선형 자료구조 - 구현 방법에 따라 배열 리스트와 연결 리스트로 나뉨 리스트 자료구조의 종류- Array List : 배열을 기반으로 구현한 리스트 - Linked List : 메모리 동적 할당을 기반으로 구현한 리스트Linked List는 다른 노드를 가리키는 포인터 사용에 따라 종류가 세분화된다. 리스트 자료구조의 ADTADT는 배열 기반인지 연결 기반인지에 상관없이 리스트의 특성에 따라 정의되어야 한다. 필요에 따라 추가 되거나 삭제될 수 있다. 1234567891011121314151617181920212223242526void ListInit(List *p..

[추상 자료형] 추상 자료형(Abstract Data Type)

[추상 자료형] 추상 자료형(Abstract Data Type) 추상 자료형(Abstract Data Type)기능의 구현 부분을 나타내지 않고 순수한 기능이 무엇인지 나열한 것을 추상 자료형이라고 한다. 예를 들면, 사용 설명서와 같다. 선풍기의 사용 설명서를 본다고 가정하자. 사용 설명서에는 정지, 미풍, 약풍, 강풍, 회전, 타이머등의 기능 설명과 사용 방법이 나와있다. 하지만 버튼을 눌렀을 때 선풍기 내부회로에서 어떤 일이 발생하는지에 대해서는 전혀 나와있지 않다. 추상 자료형은 선풍기의 사용 설명서와 같이 기능과 사용 방법을 정의한 것이다. 추상 자료형의 필요성추상 자료형은 구현자와 사용자를 분리해 준다. 라이브러리를 가져다 쓰거나 내장 함수를 사용하는 것도 추상 자료형이 정의되어 있기 때문이다..

[자료구조 정의] 자료구조와 알고리즘의 정의 그리고 연결고리

[자료구조 정의] 자료구조와 알고리즘의 정의 그리고 연결고리 자료구조와 알고리즘의 정의와 상관관계 자료구조 : 데이터를 표현하고 저장하는 방법 알고리즘 : 문제 해결 방법어떤 자료구조를 쓰느냐에 따라 문제를 해결하는 방법이 달라지고 성능도 달라지게 된다.모든 상황에 좋은 자료구조는 존재하지 않는다. 상황에 따라 효율적인 자료구조를 선택하고 알고리즘을 구현해야한다. 자료구조란?우리가 평소에 많이 사용했던 정수형 변수 int, 구조체, 배열 등 데이터를 저장하기 위해 사용했던 것들 모두 크게 보면 자료구조에 속한다. 자료형이나 배열등은 너무 간단한 자료구조이기에 자료구조론에서는 주로 선형, 비선형 자료구조를 다룬다. 선형 자료구조(Linear Data Structure)- 데이터를 선의 형태로 나란히 혹은 ..