일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- list
- 순열
- 연결리스트
- 큐
- 스택
- 양방향 연결 리스트
- 수식트리
- java 정규표현식
- 프로그래머스
- interpolation search
- 탐욕법
- visited
- space complexity
- 유클리디안 거리
- 자료구조
- 약수의 총 합
- 보간 탐색
- Java
- 유클리드 거리
- 빅-오
- 정렬
- 알고리즘
- 순차 리스트
- LinkedList
- 알고리즘 성능분석
- 그리디
- android
- 맨하탄 거리
- 단체사진 찍기
- level2
- Today
- Total
목록list (2)
개발자로 살아남기

단순 연결 리스트 단순 연결 리스트 크기가 변경 불가능한 배열의 단점을 극복 (배열은 정적인 메모리 구성) 크기가 정해져있지 않음 (동적인 메모리 구성) 데이터들을 Node로 관리 (Node : data, 다음 노드의 주소값으로 이루어져 있음) 리스트는 데이터의 저장 순서를 유지해야하는 자료구조가 아님 Node 리스트의 구성 필요한 Node들 head : 리스트의 머리를 가리킴 tail : 리스트의 꼬리를 가리킴 cur : 데이터의 조회에 사용됨 head에 데이터 추가 시 장점 : tail 노드가 불필요 단점 : 저장 순서가 유지되지 않음 tail에 데이터 추가 시 장점 : 저장 순서가 유지됨 단점 : tail 노드가 필요 데이터 추가 tail 또는 head쪽에 데이터 추가 후 tail 또는 head가 ..

순차 리스트 순차 리스트 데이터가 메모리에 연속적으로 저장됨 (ex. 배열 등) 장점 1) 인덱스로 데이터에 접근할 수 있으므로 속도가 빠름 단점 1) 배열의 길이가 사전에 정의되어야 함 2) 중간 데이터 삭제 시 해당 인덱스 이후의 값들은 한 칸씩 이동이 발생 설명 삽입 - 보통 배열의 마지막에 데이터가 삽입되며, 삽입 시 배열의 크기도 고려해야 함 - 배열의 중간에 데이터를 삽입하기 위해서는 배열의 길이가 충분한지 확인해야 하며, 삽입된 위치 뒤에 존재하는 모든 데이터들이 한 칸씩 뒤로 이동해야 하므로 중간에 데이터 삽입 시 비효율적 - 시간 복잡도 : O(n) 삭제 - 배열의 중간에 위치한 데이터를 삭제할 경우 해당 위치의 뒤 데이터들은 한 칸씩 앞으로 이동해야 하므로 배열의 크기가 크고 삭제가 빈..