C언어

Computer Science/Data Structure

[자료구조] 원형 연결 리스트 | 가용 리스트 - 다항식 연산(덧셈, 곱셈)(C언어)

저번 포스트에선 단순 연결 리스트를 알아보았다. 이어서 이번에는 원형 연결 리스트를 이용해 다항식 연산을 구현할 것임! 과제랑 개인 공부 덕분에 매우 바빠서 비교적 쉬운 이번 포스트는 빠르게 해결하자. 이번 내용이 이해가 잘 안된다면 https://joyerim.tistory.com/4를 본다면 이해가 쉬울 것이다. 원형 연결 리스트 사실 원형 연결 리스트는 매우 간단하다. 그냥 마지막 노드의 link가 첫번째 노드를 가리키면 된다. 가용 노드 리스트 연결 리스트를 이용해서 다항식과 같은 프로그램을 구현할 때, 노드의 할당과 삭제가 자주 일어나기 때문에 시스템 부하가 걸릴 수도 있다. 이때, malloc()과 free() 함수의 호출 빈도수를 줄이기 위해 가용 공간 리스트를 사용한다. 가용 노드 리스트 ..

Computer Science/Data Structure

[자료구조] 단순 연결 리스트(C언어)

✍ 배열 vs 연결리스트 배열과 연결리스트의 장단점을 인지하는 것은 중요하다. 알고리즘 문제에서 시간은 정말 소중하기 때문..^^ 문제를 보고 어떤 자료구조를 사용할지에 대한 안목을 기르기 위해서 잘 알아두자. 배열 👍 장점 - 임의의 원소에 접근 속도가 빠르고 일정하다. - 스택이나 큐의 원소를 삽입/삭제하는 등을 수행하고자 하는 작업에 적합하다. 👎 단점 - 임의의 원소에 대한 삽입/삭제는 어렵다. - 크기가 고정되어 있다. (동적 배열로 해결 가능) - 사용하지 않은 공간에 대한 메모리 낭비가 생긴다. - 배열 크기가 클 경우 메모리 할당을 받지 못하는 경우가 있다. 언제 사용할까 - 데이터 개수가 확실하게 정해져 있을 때 - 데이터의 삽입/삭제가 적을 때 - 검색을 해야할 때 연결 리스트 👍 장점..

JOYERIM
'C언어' 태그의 글 목록