본문 바로가기

IT&코딩/자료구조

(12)
자료구조 - 12일차 (Double Linked List) Double Linked List란? - 각 노드가 데이터와 포인터를 가지고 양쪽으로 연결되어 있는 방식으로 데이터를 저장하는 자료구조 - 양쪽으로 데이터를 탐색할 수 있다는 장점이 있다.
자료구조 - 11일차 (Linked List) Linked List란? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조. 데이터를 삽입하는 함수 공간해제 없이 모든 데이터 출력 입력된 데이터 값 중 해당 데이터가 있는지 검출 있으면 해당 데이터가 있음을 알리는 문구 없으면 존재하지 않음을 알리는 문구 출력 넘겨줄 데이터를 찾아서 해당 공간을 삭제 남은 할당 공간끼리 이어줌. 삭제할 데이터가 존재하지 않으면 따로 문구 출력 특정 데이터 뒤에 새로운 데이터가 입력된 공간을 삽입 데이터를 정렬 - 큰수~작은수 (내림차순) 첫 번째 공간을 기준점으로 그 다음 데이터와 비교 진행. 기준 데이터보다 비교데이터가 큰 경우 데이터 교체. 첫 번째 공간 기준으로 비교가 끝나면 두 번째 데이터가 기준 데이터가 됨.
자료구조 - 10일차 (Queue) Queue란 한쪽 방향으로 데이터가 삽입되고 반대방향으로 데이터가 삭제되는 구조. 양 끝이 뚫린 원통 안에 데이터가 저장되는 구조와 같다. 선입선출 (First In First Out, FIFO) 구조를 갖게 된다. --------------------------------------------------------------------------------------------------------------------------------------------------------------
자료구조 - 9일차 (Stack Programming)
자료구조 - 8일차 (PUSH & POP)
자료구조 - 7일차 (퀴즈) // 1. 문제 의도를 잘 파악할 것. // 2. 반드시 순서대로 문제를 해결할 것. // 3. 변수에 저장된 값을 변경하거나 타입을 변경하면 안 됨. // 4. 동적할당이 필요한 경우 할당하되 변수를 선언하면 안됨. // 5. 함수 호출 시 전달되는 인자를 변경하면 안 됨. // 6. 함수의 매개변수와 반환형은 상황에 알맞게 변경할 것. // 7. 요구하는 부분(주석처리된 부분)만 해결하면 됨. ------------------------------------------------------------------------------------------------------------------------------------- // 문제 1) #include #include typedef struc..
자료구조 - 6일차 (동적할당) #include #include // ---- 포인터와 배열의 관계 ---- // 포인터와 배열은 밀접한 관계를 갖고 있으나, 분명한 차이점이 있다. // 배열은 선언하게 되면 기본적으로 배열 자기 자신의 시작 주소를 갖고 있다. // 포인터와 배열은 둘 다 주소를 가지고 연산을 진행하기 때문에 포인터를 배열처럼 인덱스를 통해 접근할 수 있다. // 배열은 자기 자신의 공간을 사용하고, 포인터는 다른 누군가의 공간을 빌려서 사용한다. int main() { char str[10]; printf("str의 주소 : %p\n", &str); printf("str의 값 : %p\n", str); printf("입력 : "); scanf("%s", str); // &없이 배열의 이름만 작성하는 이유 - 어차피 ..
자료구조 - 5일차 (구조체) #include // ---- 구조체 ---- // 여러 개의 멤버들을 모아서 하나의 '새로운 자료형'을 만드는 개념 // 구조체 변수의 멤버에 접근할 때는 구조체변수 .멤버 형식으로 접근한다. // ex) struct Data d; // d.data1=10; // 구조체의 크기는 구조체 멤버들을 모두 더한 크기이다. // 기본 구조체 정의 원형 struct Data { int data1; int data2; int data3; }; // 별칭 구조체 정의 // 별칭 구조체를 사용하면 구조체 이름, 별칭 모두 사용 가능 typedef struct Data { int data1; int data2; int data3; }Da; // Da라는 별칭을 사용하겠다. // 하지만 같은 대상에 2개의 이름이 붙는다..