반응형

전체 글 944

그래프 연습 문제

연습문제 무방향그래프와 관련된 method만을 가지며 갱신 메쏘드를 포함하지 않는, 단순화한 그래프 ADT를 그림 13-14(그래프 ADT의 연결리스트 구현)에 보인 것처럼 연결리스트를 사용하여 구현하기 위해 다음 A,B 두 가지 경우 각각에 대해 다음 메쏘드 들을 의사코드로 작성하라. integer deg(v): 정점 v의 차수를 반환 vertex opposite(v,e): 정점 v의 간선 e에 대한 반대쪽 끝점을 반환 boolean areAdjacent(v,w): 정점 v와 w가 인접한지 여부를 반환 iterator adjacentVertices(v): 정점 v의 인접정점을 모두 반환 iterator incidentEdges(v): 정점 v의 부착간선을 모두 반환그래프가 인접 리스트 구조로 표현됨 A..

알고리즘/공부 2023.11.17

그래프 순회 연습문제

연습문제 그래프 G의 정점은 1에서 8까지의 정수고 각 정점의 인접정점들은 아래 테이블에 나열된대로다. G를 순회할 때 주어진 정점의 인접정점들이 테이블에 나열된 순서와 동일한 순서로 반환된다고 가정하고 다음에 답해라 정점 인접정점들 1 2,3,4 2 1,3,4 3 1,2,4 4 1,2,3,6 5 6,7,8 6 4,5,7 7 5,6,8 8 5,7 #### 그래프 G를 그려라 정점 1에서 출발하는 DFS순회에서 정점들이 방문되는 순서를 구하라 1 - 2 - 3 - 4 - 6 - 5 - 7 - 8 정점 1에서 출발하는 BFS 순회에서 정점들이 방문되는 순서를 구하라 1 - 2 - 3 - 4 - 6 - 5 - 7 - 8 인접행렬 구조로 표현된 n-정점 단순그래프에서 DFS 순회가 $O(n^2)$시간에 수행하는..

알고리즘/공부 2023.11.17

함수를 가리키는 포인터, 보이드 포인터(void *)

int add(int, int); int main() { int a, b, c, d[20][20]; unsigned int r; void* p; int (*padd)(int,int); padd = &add; scanf("%d", &a); scanf("%d %d", &b, &c); p = &a; printf("%d\n", *((int*) p)); printf("%d", padd(b, c)); } int add(int a, int b) { return a + b; } 우리는 void* 로 p를 만들어 주었다. 그리하여 a의 주소를 p에 집어 넣고 p를 호출할 때 (int *)으로 형을 변경하여 출력해줬다. 함수를 가리키는 포인터는 위와 같이 포인터 하나와 그것이 가지는 변수의 형들을 입력해주면 된다. 그리고..

언어/C 2023.11.17

포인터를 가리키는 포인터

void pswap(int**, int**); int main() { int a, b, c, d; unsigned int r; scanf("%d %d ", &a, &b); int* px = &a, *py= &b; pswap(&px,&py); printf("%d %d", *px,*py); } void pswap(int** x, int** y) { int *tmp = NULL; tmp = *x; *x = *y; *y = tmp; } 음 따로 설명할 만한 것은 없지만 함수에 넘겨주는 &px는 px의 주소를 보내는 것이고 함수 내에선 px의 포인터를 서로 바꿔주는 것이라 바뀐 값이 나온다. ex 1 5 -> 5 1

언어/C 2023.11.17

주가 API

API를 활용해서 gpts를 만드려고 api를 발급받았지만 API키가 작동하지 않는다... 문의를 남겼지만 아직 답변이 오지 않았다. schema는 아래와 같이 작성하였다. { "openapi": "3.1.0", "info": { "title": "Stock Information API", "description": "API for retrieving stock information based on stock name.", "version": "1.0.0" }, "servers": [ { "url": "https://api.seibro.or.kr/openapi/service/StockSvc" } ], "paths": { "/getStkIsinByNmN1": { "get": { "summary": "Get..

탐색

사전 method 일반 integer size(): 사전의 항목 수를 반환 boolean isEmpty(): 사전이 비어있는지 여부를 반환접근 element findElement(k): (키, 원소) 항목들의 모음인 사전에 키 k를 가진 항목이 존재하면 해당 원소를 반환, 그렇지 않으면 특별 원소 NoSuchKey를 반환 갱신 insertItem(k,e): 사전에 (k,e) 항목을 삽입 element removeElement(k) : 사전에 키 k를 가진 항목이 존재하면 해당 항목을 삭제하고 원소를 반환, 그렇지 않으면 특별 원소 NoSuchKey를 반환 사전 ADT 구현 구현 형태 구현 종류 예 주요 탐색 기법 리스트 무순사전ADT 기록 파일 선형 탐색 순서사전 일람표 이진 탐색 트리 탐색트리 이진탐색..

알고리즘/공부 2023.11.14
728x90
728x90