기본 자료구조 3

기본 자료 구조; 리스트의 구현

○ 리스트 ADT add_last(list,item) :: = 리스트의 맨끝에 원소를 삽입한다. (insert()) add_first(list,item) :: = 리스트의 처음에 원소를 삽입한다. add(list,pos,item) :: = pos 위치에 원소를 삽입한다. delete(list, pos) :: = pos 위치의 원소를 제거한다. delete(list,item) :: = 리스트에서 원소 item을 제거한다. clear(list) :: = 리스트의 모든 원소를 제거한다. (erase()) is_in_list(list,item) :: = item이 리스트 안에 있는지 검사한다. (member()) get_entry(list,pos) :: = pos 위치의 원소를 반환한다. (return()) g..

CS/자료구조(DS) 2021.02.15

기본 자료구조; 연결 리스트

연결 리스트 : 여러 노드들의 연결로 이루어진 리스트. 각 노드는 데이터 값을 저장하는 데이터 필드와 다른 노드의 주소값을 저장하는 링크 필드로 이루어져 있다. 노드의 삽입과 삭제가 용이하며 연속된 메모리 공간이 필요하지 않고 배열에 비해 크기 제한이 없다는 장점과 다소 구현이 어렵다는 단점이 있다. ▷ 연결 리스트의 종류 - 단순 연결리스트 : 하나의 링크 필드를 이용해 연결. 마지막 노드의 링크 값은 NULL. · 단순 연결 리스트 생성 : ListNode 구조체 생성, 동적 메모리를 할당 받아 연결 리스트 생성 //단순 연결 리스트 구현 typedef int element; typedef struct ListNode{ element data; struct ListNode *link; } ListNo..

CS/자료구조(DS) 2021.02.15

기본 자료구조; 배열의 개념과 응용(다항식 구현)

배열이란? -> 일반적으로 같은 형의 변수를 여러 개 만드는 경우에 사용. ˙ 개념 int A[6]; //1차원 배열 char s[12] = "game over" //문자열, terminating null character인 '\0'을 포함. int A[4][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}} //2차원 배열, 행 우선. int A[3][3][3]; //3차원 배열 * 2차원 배열에서의 실제 주소 구하기 : 2차원 정수 배열 A[m][n]에서 A[j][k]의 실제 주소 = base + ( j x n + k ) x sizeof(int) * 3차원 배열에서의 실제 주소 구하기 : 3차원 실수 배열 A[l][m][n]에서 A[i][j][k]의 실제 주소 = base + ..

CS/자료구조(DS) 2021.02.05