array와 linked list 의 개념과 차이 그리고 go를 통한 구현
Array
- 배열, 연속된 메모리 블럭
- 고정된 사이즈를 가짐
- 한꺼번에 할당되고 한꺼번에 해제됨
- Random Access에 강함
- 삽입/삭제에 약함(단, 배열 끝 추가와 삭제는 용이 함)
- Cache Miss가 잘 일어나지 않음
- 요소가 사라질 때마다 GC 되지 않음
- 시간복잡도
- Random Access : O(1)
- 삽입/삭제 : O(N)
- 구현 - 코드
package main
import "fmt"
func main() {
var arr [5]int
array := [...]int{1, 2, 3, 4, 5}
arr[0] = 1
fmt.Println(arr)
fmt.Println(array)
}
Linked List