목록Computer Science (4)
Soy's Devlog

연결리스트는 배열과 리스트의 단점을 보완한 구조이다.배열과 리스트의 경우 중간에 특정 데이터가 삽입되어야 한다면 위와같이 기존의 데이터들을 한칸씩 뒤로 이동해 주어야 한다. 삭제를 할 땐 빈공간을 채우기 위해 한칸씩 앞으로 이동해 주어야 한다. 뿐만 아니라 데이터가 꽉 차있는 상태에서 추가하고자 할 때는 메모리에 새로운 공간을 기존의 크기만큼 추가로 할당 하여 리스트의 맨 마지막에 새로운 데이터를 추가해야 하는 번거로움이 생긴다. 이렇듯 메모리관리에 어려움이 생길 수 있다는 것이 가장 큰 단점인데 이 부분을 보완한 자료구조가 연결리스트라고 할 수 있다.연결리스트선형 동적자료구조인덱스 없음데이터필드와 하나이상의 링크필드로 구성된 노드를 갖는다.링크 : 다른 노드를 가리키는 주소를 갖는다.연결리스트 종류단순..

스택과 마찬가지로 선형자료구조인데 차이점이라면 삽입, 삭제가 서로 다른곳에서 일어난다는 점이다.First-in, First-Out 선입선출 구조이다.데이터삽입은 뒤쪽에서 데이터 삭제는 앞쪽에서 일어난다.데이터 삽입이 일어나는 포인터변수는 rear, 삭제가 일어나는 포인터변수는 front라고 한다.큐에서는 삽입변수와 삭제변수를 각각 운영한다.추상자료형ADT기능설명Add_q()rear 포인터를 하나 증가시킴Delete_q()front 포인터를 하나 감소시키고 반환함.IsEmpty_q()큐가 비어있으면 true, 아니면 falseIsFull_q()큐가 꽉찼으면 true, 아니면 false rear포인터와 front포인터가 배열의 경우 같은값이거나, 같은 메모리 영역을 가리키면 큐는 queueEmpty 상태가 ..

스택가장 먼저 입력된 데이터가 가장 나중에 출력됨.한쪽에서만 자료의 입•출력이 일어나는 구조 top : 스택의 최상단을 의미 push는 데이터삽입을 의미한다. push하게되면 top포인터가 하나 증가하여 방금 추가된 데이터의 상단을 가리키게 된다.pop은 데이터의 삭제이며 이후에 top포인터가 하나 감소한다. 데이터의 삽입과 삭제가 상단인 top에서만 일어난다. 스택영역에 데이터가 꽉 차있으면 full 상태, 데이터가 존재하지 않으면 empty상태로 판단한다. 스택오버플로우 StackOverflow : 포화상태인 스택에 새로운 요소 삽입하려 할 때 발생하는 오류이며 stackfull 메세지 도출됨스택언더플로우 StackUnderflow : 공백상태인 스택에서..

컴퓨터는 디지털 계산기처럼 몇가지 입력받은 값들로만 정해진 계산을하고 출력을 해내는 기계가 아니다. 데이터가 많을수도 있고 비즈니스로직이 복잡하기도 하고 일괄적으로 대량의 데이터를 처리하기도 하는 등 다양한 경우의 수가 있는데 이를 최대한 효율적으로 수행할 수 있게 해주는 컴퓨터과학의 기초이론이기 때문에 중요하다고 할수있다!자료구조의 분류단순자료구조는 변수를 선언할 때 사용하는 것들을 예로 들 수 있고 나머지는 복합자료구조인데 이는 다시 선형 자료구조와 비선형 자료구조로 나뉜다. 선형 자료구조는 메모리내에 데이터들이 순차적으로 나열되어 있는 것이고, 비선형 자료구조는 메모리내에 여기저기 흩어져 있는 형태를 말한다. 선형자료구조는 다시 생성 시 크기가 고정되는 정적 자료구조와 실행 중에 크기가 유동적으로 ..