자료구조/자료구조 정리9 [자료구조] 맥북에서 난수발생 함수 사용하기, 실행시간(cpu time) 구하기 문제예시>-> n개의 인덱스를 가지는 배열에 대해 그 배열의 누적합을 구하는 문제-> 또한 그 각각의 정수는 1~10,000 사이의 범위에 있을 것 1. 난수발생 함수난수발생함수란?- 난수발생 함수란 사용자 개입없이 한 개 또는 여러 개의 난수를 무작위로 발생시키는 것 rand() 사용법- 우선적으로 난수발생함수를 사용하기 위해서는 다음과 같은 헤더파일을 작성해줘야한다.#include - rand()를 이용해서 출력해보자printf("%d",rand())-> 위와 같이 작성을 하게 되면 난수의 범위는 0-> 이때 RAND_MAX는 컴퓨터마다 다를 수 있다.-> 난수의 범위를 설정하는건 조금 더 아래에서 다루도록 하겠다. - 다음과 같이 작성을 했다면 난수를 만들긴 한것이지만 다음번에 호출했을때 난수가 변.. 2025. 3. 22. [자료구조] 이중 연결 리스트의 예제 프로그램(이것이 자료구조+알고리즘이다-p.50(1.3.2)) 이중 연결 리스트와 관련한 예제프로그램을 작성해보자. 예제프로그램의 내용은 다음과 같다. 1. 0,1,2,3,4,의 데이터값을 가지는 노드 5개 생성 후 리스트 출력 2. 리스트의 세번째 칸 뒤에 3000의 데이터값을 가지는 노드 삽입 후 리스트 출력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89.. 2024. 2. 11. [자료구조] 이중 연결 리스트(Doubly Linked List)의 삭제연산과 소멸연산 이중 연결 리스트의 연산 단순 연결 리스트와 크게 다를 것이 없으니 단순 연결 리스트를 충분히 이해했다면 쉽게 이해할 수 있다. 아래 글을 통해 확인하고 오는 것도 좋을 것이다. https://zldn.tistory.com/4 [자료구조] 단순 연결 리스트(LinkedList)의 삭제연산 노드의 삭제 연산 단순 연결 리스트에서 노드를 삭제하는 방법은 다음과 같다. 1. 삭제할 노드의 앞 노드를 찾는다. 2. 앞 노드에 삭제할 노드의 링크 필드값을 저장한다. 3. 삭제한 노드의 앞 노 zldn.tistory.com 이중 연결 리스트의 삭제연산 이중 연결 리스트의 삭제연산을 하기 위해서는 삭제하려는 노드의 양쪽 포인터 2개와 이전 노드의 rightLink 포인터와 다음 노드의 leftLink 포인터를 다뤄야.. 2024. 1. 28. [자료구조] 이중 연결 리스트(Doubly Linked List)의 생성연산과 삽입연산 이중 연결 리스트의 연산 단순 연결 리스트와 크게 다를 것이 없으니 단순 연결 리스트를 충분히 이해했다면 쉽게 이해할 수 있다. 아래 글을 통해 확인하고 오는 것도 좋을 것이다. https://zldn.tistory.com/3(단순 연결 리스트의 삽입연산) [자료구조] 단순 연결 리스트(LinkedList) 노드의 삽입 연산 노드의 삽입 연산 단순 연결 리스트의 노드를 삽입하는 방법은 다음과 같다. 1. 삽입할 노드를 준비한다. 2. 새 노드의 데이터 필드에 값을 저장한다. 3. 새 노드의 링크값을 지정한다. 4. 리스트의 zldn.tistory.com 이중 연결 리스트의 생성연산 1 2 3 4 5 6 7 8 9 Node* createNode(int i) { Node* new = (Node*)malloc.. 2024. 1. 28. [자료구조] 이중 연결 리스트(Doubly Linked List)의 개념 이중 연결 리스트(Doubly Linked List) 단순 연결 리스트의 탐색 기능을 개선한 자료구조이다. 단순 연결 리스트에서 어떤 노드를 찾으려면 헤드에서 테일 방향으로만 탐색할 수 있는 데 비해, 이중 연결 리스트에서는 양방향으로 탐색이 가능하다. 이중 연결 리스트(Doubly Linked List)의 노드 이중 연결 리스트의 노드는 자신의 다음 노드를 가리키는 포인터와 앞에 있는 노드를 가리키는 포인터도 가진다. 1 2 3 4 5 typedef struct node { int data; struct node* prevLink; struct node* nextLink; }Node; cs 이를 구조체로 선언하면 다음과 같이 Node라는 별칭을 가지도록 표현할 수 있다. 단순 연결 리스트의 노드 구조체.. 2024. 1. 26. [자료구조] 단순 연결 리스트의 예제 프로그램(이것이 자료구조+알고리즘이다 - p.36 (1.2.3)) 예제 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 #include #include #include typedef struct node { int data; struct node* link; }Node; Node* createNode(int i) { Node* .. 2024. 1. 26. 이전 1 2 다음