\--> 데이터를 일정한 순서로 나열한 자료구조\--> 입력 순서대로 저장하는 데이터에 적당\--> 배열 사용\--> 선형 리스트는 메모리에서도 차례로 저장된다.1) 배열 맨 끝 자리를 확보한다.2) 삽입할 위치 기준 오른쪽 데이터들을 뒤로 한 칸씩 이동시킨다.3) 빈
1) 선형 리스트: 배열에 데이터를 차례대로 저장, 데이터의 실제 위치 순서로 구성\--> 장점: 데이터 찾기, 구현 용이 단점: 데이터 삽입, 삭제 작업 시 오버헤드 발생2) 단순 연결 리스트: 저장된 노드들이 물리적으로 떨어진 곳에 위치, 순차적 x1) 선
1) 단순 연결 리스트: 끝까지 방문 하면 더 이상 방문할 곳이 없어 종료된다.\--> head부터 재시작해야함.2) 원형 연결 리스트: 마지막 노드의 링크가 첫 번째 노드를 가르킨 원의 형태\--> 연속 방문이 가능하다.단순 연결 리스트와 같이 오버헤드가 발생하지 않
\--> 스택 자료구조는 한쪽 끝이 막힌 형태다.\--> 입구가 하나이기 때문에, 먼저 들어간 것이 가장 나중에 나오는 구조\--> 빠져나오는 순서는 들어간 순서의 역순이다.삽입과 추출이 한쪽에서만 진행된다.push: 스택에 데이터를 삽입pop: 스택에서 데이터를 추출
\--> 입구와 출구가 따로 있는 원통 형태의 자료구조\--> 스택과 달리, 먼저 들어간 것이 먼저 나오는 구조이다.\--> 들어갈 때는 데이터를 지정해서 들어갈 수 있지만, 나올 때는 특정 데이터를 선택할 수 없다!!\--> 한쪽에서는 삽입만, 다른 쪽에서는 추출만
\* 트리 자료구조는 나무를 거꾸로 뒤집어 놓은 형태Root: 트리의 맨 위 (레벨 0)Node: 트리에서 각 위치Edge: 노드를 이어주는 선Degree: 자식 노드 개수Leaf: 자식이 없는, 차수가 0인 노드\--> 이진 트리: 모든 노드의 자식이 최대 2개인 트
개념 --> 여러 노드가 서로 연결된 자료구조 --> 트리는 하위 노드 방향으로만 이어지는 구조 > #### 용어 정점(Vertex) : 트리에서의 노드 개념 간선(Edge) : 정점을 이어주는 선 정점 집합 : V(G) 간선 집합 : E(G) 종류 > #### 1.
\--> 자기 자신을 다시 호출하는 것 \--> 재귀 호출을 함수의 복사본이 생겨 호출한다고 생각해보자. \--> return을 만나면 전 호출로 돌아가서 나머지 부분을 실행한다. 1) 반복문을 이용한 구현 1) 반복문을 이용한 구현2) 재귀 함수를 이용한 구현
\--> 자료들을 일정한 순서대로 나열하는 것1) 선택 정렬2) 삽입 정렬3) 버블 정렬4) 퀵 정렬\--> 여러 데이터 중에서 가장 작은 값을 뽑는 작동을 반복하여 값을 정렬하는 방식\--> 가장 작은 데이터를 계속적으로 뽑아 오름차순 정렬을 시도한다.\--> 가장
\--> 첫 번째 값부터 시작해서 바로 앞뒤 데이터를 비교하여 큰 것은 뒤로 보내는 방법\--> 전체 비교로 시작ex) 데이터가 4개를 정렬1번째 사이클: 0 vs 1 -> 1 vs 2 -> 2 vs 3 ==> 데이터 갯수 - 1\--> 1번째 사이클이 완료되면 가장
\--> 어떤 집합에서 원하는 것을 찾는 것1) 순차 탐색2) 이진 탐색3) 트리 탐색\--> 특정 데이터 위치인 index를 알려준다. 없다면 -1 반환1) 순차 탐색 : 검색할 데이터들이 정렬되어 있지 않은 상태일 때 사용\--> 처음부터 끝까지 차례대로 찾아보는