[ C로 구현하는 ] 그래프
그래프란? 정점의 집합을 V, 간선의 집합을 E, 그래프를 G라고 했을 때 G=(V, E) 이다. 그래프의 표현 방법 인접 행렬 다음과 같은 그래프를 행렬로 표현해보자 0 1 2 3 4 0 0 1 0 0 1 1 1 0 1 1 1 2 0 1 0 1 0 3 0 1 1 0 1 4 1 1 0 1 0 이렇게 표현이 가능하다. 당연한 얘기지만 무방향성 그래프 (위와 같이 양방향 그래프)는 대각선을 기준으로 대칭을 이루고, 방향성 그래프는 대각선을 기준으로 오른쪽에 나타난다. 인접 리스트 정점 인접 정점 0 1, 4 1 0, 2, 3, 4 2 1, 3 3 1, 2, 4 4 0, 1, 3 이를 링크드 리스트로 구현할 수 있을 것처럼 보인다. 장단점 인접 행렬 - 정점 간의 인접 여부 확인 빠름 - 정점의 크기 X N^..
2023. 8. 8.
[자료구조] 원형배열 ADT
원형배열이란? 기존 배열은 입력 시, 첫번째 인덱스에 값을 입력 시 뒤에 있는 원소들을 뒤로 밀어내야한다. 이를 해결하기 위해 첫번째 인덱스 앞이 배열에 뒤쪽과 연결되어 있는 앞과 뒤의 입력 및 삭제가 유연한 배열을 만들기 위해 구상된 ADT이다. #include #include void invalidRankException(); void fullListException(); void emptyListException(); int Size(int N, int f, int l); void Get(char* arr, int N, int f, int l, int r); void Set(char* arr, int N, int f, int l, int r, char data); void Add(char* arr,..
2023. 3. 31.