본문내용
Ⅰ. 심볼테이블을 이용한 범용리스트
1. 범용리스트의 정의
범용 리스트 A는 n≥0인 원소의 유한 순차 즉, a0, …, an-1이고, 여기서 ai는 원자이거나 리스트이다. 원자가 아닌 원소 ai(0≤i≤n-1)는 A의 서브리스트라고 한다.
2. 심볼 테이블을 이용하는 경우의 범용 리스트
심볼 테이블을 이용하여 범용 리스트를 사용하는 경우 각 리스트의 헤드 노드에는 원소를 삽입할 필요가 없으며, 단지 심볼 테이블 내에서 그 노드에 해당하는 위치를 참조함으로서 필요한 원자, 리스트의 주소 등을 사용할 수 있게 하는 것이다. 이를 다항식에 사용하는 경우는 아래 그림과 같이 리스트를 정의 한다.
tag True/False
slink/dlink
exp
link
위 그림에서 tag는 slink를 사용하는 경우 false, dlink를 사용하는 경우는 true가 된다. exp는 각 다항식의 항의 지수를 저장하게 되며, link는 다음 항의 노드를 가르키게 된다. 헤드 노드는 exp값은 -1이며, slink로 심볼 테이블 내의 해당 위치를 가르킨다. 위 구조에서 slink는 심볼 테이블의 해당 위치를 저장하게 되며, dlink는 리스트가 또 다른 리스트를 가르키는 경우 사용된다.
1. 범용리스트의 정의
범용 리스트 A는 n≥0인 원소의 유한 순차 즉, a0, …, an-1이고, 여기서 ai는 원자이거나 리스트이다. 원자가 아닌 원소 ai(0≤i≤n-1)는 A의 서브리스트라고 한다.
2. 심볼 테이블을 이용하는 경우의 범용 리스트
심볼 테이블을 이용하여 범용 리스트를 사용하는 경우 각 리스트의 헤드 노드에는 원소를 삽입할 필요가 없으며, 단지 심볼 테이블 내에서 그 노드에 해당하는 위치를 참조함으로서 필요한 원자, 리스트의 주소 등을 사용할 수 있게 하는 것이다. 이를 다항식에 사용하는 경우는 아래 그림과 같이 리스트를 정의 한다.
tag True/False
slink/dlink
exp
link
위 그림에서 tag는 slink를 사용하는 경우 false, dlink를 사용하는 경우는 true가 된다. exp는 각 다항식의 항의 지수를 저장하게 되며, link는 다음 항의 노드를 가르키게 된다. 헤드 노드는 exp값은 -1이며, slink로 심볼 테이블 내의 해당 위치를 가르킨다. 위 구조에서 slink는 심볼 테이블의 해당 위치를 저장하게 되며, dlink는 리스트가 또 다른 리스트를 가르키는 경우 사용된다.
추천자료
- 링크드리스트 와 template 를 사용한 stack. 어떤 자료형이든 저장가능
- 링크드리스트(linkedlist)를 이용한 다항식(polynomial)연산 구현 덧셈,뺄셈,곱셈,나눗셈
- 단방향 링크드리스트
- MFC를 이용한 링크드리스트
- [C언어]링크드리스트를 이용한 희소행렬 곱셈프로그램
- 링크드리스트(연결리스트,linkedlist)를 각각의 메뉴로 구현(원하는 위치에 삽입,삭제,주소및...
- LinkedList(링크드리스트), 파일입출력을 이용한 음식메뉴 입/출력프로그램(C언어,한글레포트...
- [자료구조] 링크드리스트를 이용한 다항식 클래스
- C언어 링크드리스트를 활용한 영어단어 암기 게임
- 더블 링크드리스트(소스코드,출력화면)
소개글