단순 연결 리스트를 역순으로 출력하려면 어떻게 해야 할까요 질문을 갑자기 받고 머리가 띵 그때의 상황 Q. 단순 연결리스트 역순으로 출력하려면 어떻게 해야 할까요 A. 네? 이중 연결리스트요? (내 뇌는 생각하기 싫었나 보다) Q. 아니 단순 연결리스트요! A. 잠시만요. 그 당시에는 문자열 역순 뭐 역순 하면 스택이 먼저 떠올라서 음 스택으로 값을 넣고 뭐 이런 식으로 하면 어떨까요. 구글링 해보니 알고리즘 문제로 종종 나오나 보다. 연결리스트(Linked list) 란 연결리스트는 각 노드가 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조입니다. 연결리스트는 자료 추가와 삭제가 O(1)이라는 장점을 가지고 있지만, 특정 위치의 데이터를 검색하는데 O(n)이 걸린다는 단점도 ..
reversed()의 시간복잡도가 O(1)이라니 . . . 알고리즘 문제 중 역순으로 출력하는 문제가 있었는데 저는 그럴 때마다 Array의 reversed()아니면 reverse()를 사용했습니다. 굳이 reverse도 있는데 왜 reversed를 사용하는 거야 . . 라고 생각했고 찾아보았습니다. 뭐가 달라 !!!!!! 결과적으로 시간 복잡도에서 차이가 났습니다. 모르면 일단 공식문서를 살펴봅니다. reverse() 설명으로 그 자리(in place)에서 element를 역순으로 돌립니다. 함수는 mutating func reverse()로 정의되어 있습니다. 그 공간에서 역순으로 돌리기 때문에 뭐 새롭게 생기는 배열도 없습니다. 새로운 배열을 리턴하지 않습니다. 그리고 시간 복잡도는 O(n) .. ..
- Total
- Today
- Yesterday
- 책 추천
- 스위프트UI
- SWIFT
- Animation
- 머신러닝
- 문자열
- leetcode
- objc
- RX
- 독서
- ReactiveX
- wwdc
- objective-c
- 책
- ios
- rxswift
- ARC
- iOS SwiftUI
- Xcode
- Deep learning
- 책 후기
- 스위프트
- swift5
- stanford SwiftUI
- string
- Algorithm
- 애니메이션
- 알고리즘
- 딥러닝
- swiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |