일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 24
- persistence
- 콜드픽스
- BFS
- httpcookie
- 연결
- atlasian
- dfs
- 빝버켓
- IOS
- infoplist
- xcode
- 옆집
- om-4ti
- 스위프트
- 빗버켓
- decidepolicyfor
- Swift
- scenedelegate
- wwdc24\
- WWDC
- 쿠키
- 2024
- 알고리즘
- navigationaction
- swiftdata
- 데이터장소
- JSON
- 데이터구조
- 애러처리
- Today
- Total
목록IOS (13)
내가 iOS 개-발자라니.
오늘은 딕셔너리 타입 해시 테이블에 대해서! 7. 해시 테이블과 해시 함수(Hash)해시함수: 입력(또는 키)을 받아 고정 크기의 문자 문자열을 생성하는 수학적 알고리즘으로, 이는 해시된 값을 나타낸다. 해시 함수의 주요 목표는 충돌을 최소화하기위해 사용 가능한 배열 위치에 키를 효율적으로 분산시키는 것이다.분할 메서드: 키를 해시 테이블의 크기(m)로 나누고 나머지를 해시 값으로 사용한다. 해시 테이블의 크기가 소수일 때 잘 작동한다. hashValue = key % m곱셈 메서드: 일정한 배수(A)를 키와 곱하고, 결과의 소수 부분을 해시 값으로 사용한다. 곱셈 메서드는 분할 메서드보다 키의 더 균일한 분포를 제공한다. hashValue = floor(m * (key * A % 1))폴딩 메서드: 키..
주말 잘 쉬고 그래프로 월요일을 시작합니다. 6. 그래프(Graph)그래프에 대하여코딩에서 그래프는 상호 연결된 노드의 집합을 나타내는 데이터구조이다. 노드는 정점(vertice)이라고도 하며 이들간의 관계를 정의하는 정적선(edge)로 연결될 수 있다.그래프의 종류무방향 그래프: 엣지(edge, 정적선)가 특정 방향을 가지지 않고 단순히 두개의 정점간에 연결을 나타낸다.방향 그래프: 엣지가 특정 방향을 가진다. 정점1이 정점2에 연결되어있다고 해서 반드시 정점2가 정점1에 연결되어 있다는 것을 의미하지 않는다. 방향그래프의 엣지는 종종 화살표로 표시된다.가중 그래프: 각 엣지에 가중치 또는 비용을 부여한다. 이러한 가중치는 거리, 용량 또는 비용과 같은 다양한 속성을 나타낼 수 있다. 예를 들어, 교통..

오늘은 트리~ 5. 트리(Tree)트리에 대하여트리는 파일 시스템, 계층적 데이터 및 검색 알고리즘과 같은 다양한 응용 프로그램에서 사용되는 기본 데이터 구조이다.트리는 간선으로 연결된 노드로 구성된 계층적 데이터 구조이다.트리의 각 노드는 0개 이상의 자식 노드를 가질 수 있다.트리의 노드는 루트에서 트리의 다른 모든 노드로 가는 경로가 있도록 구성된다.트리의 유형이진 트리: 각 노드가 최대 2개의 자식 노드를 가질 수 있는 트리의 일종으로, 일반적으로 왼쪽 자식과 오른쪽 자식으로 불린다. 단순성과 구현의 용이성을 가지고 있다.이진 탐색 트리(BST): 왼쪽 자식의 값이 부모 노드보다 작고, 오른쪽 자식의 값이 부모 노드보다 큰 이진 트리이다. 이 속성 덕분에 효율적인 검색, 삽입 및 삭제 작업이 가능..
오늘은 스위프트로 연결리스트를 만들어봤다. 4. 연결 리스트(Linked List)연결 리스트에 대하여노드: 연결리스트는 노드로 구성되며 각 노드는 아래에 2가지 구성 요소를 포함한다. 리스트에서 첫번째 노드는 헤드(head)라고 하고, 마지막 노드는 테일(tail)이라고 한다. 테일노드는 nil을 가리켜 리스트의 끝을 나타낸다. 노드의 구성 요소:데이터: 노드가 보유하는 값 또는 데이터다음(Next): 리스트에서 다음 노드에 대한 참조 또는 포인터연결 리스트 유형단일 연결 리스트: 각 노드가 리스트의 다음 노드에만 참조 eg. 노드1 → 노드2 → 노드3 → nil이중 연결 리스트: 각 노드는 다음 노드와 이전 노드 모두에 대한 참조 eg. 노드1 ↔ 노드2 ↔ 노드3 → nil원형 연결 리스트: 테..
오늘은 스택과 큐!솔직히 현업에서 많이 안썼지만 개념은 알아두면 좋다. 스위프트로 해보자,3. 스택과 큐스택(stack): LIFO(Last In First Out, 후입선출)// swift에서는 배열이나 연결 리스트를 이용하여 스택 구현함// 일단 배열을 이용하여 스택 구현(구조체를 이용)struct Stack { private var elements: [Element] = [] // 요소 추가 mutating func push(_ element: Element) { elements.append(element) } // 마지막에 추가된 요소를 빼고 나머지 반환(스택이 비어있을 경우 nil 반환) mutating func pop() -> Element? { return elements.popLast..
내용을 다시 생각하면서 현업에서 더 자주쓰이는 것만 사용해보는게 어떨까 생각해봤다.물론 내 기준 현업이다.2. 문자열문자열 생성// 기본 초기화let message = "Hello, world!"let numberString = String(42) //"42"let emptyMessage: String?let anotherEmptyMessage = String()// 이스케이프 시퀀스: '\\'를 앞에 포함해서 특수문자와 줄 바꿈 포함 let message = "\\"Hello, world!\\""문자열 조작let oneString = "One"let twoString = "Two"let jabString = "Jab, "// '+'연산자나 '+='연산자를 이용하여 문자열 수정let oneTwoStrin..
나는 스위프트를 잘 알고있는가?너무 기초이지만 정리한번 해볼까? 데이터구조와 알고리즘을 스위프터에 입장에서 정리한번 해보려 한다. 생각하며 적어가려니 목차는 모르겠다.일단 배열1. 배열(Array)배열 생성// 대괄호를 사용하여 기본 생성let fruits = ["apple", "banana", "orange"]// 초기자를 사용하여 생성let numbers = Array(repeating: 0, count: 5)배열 접근// 첫번째는 0의 인덱스를 가짐let fruits = ["apple", "banana", "orange"]let fristFruit = fruits[0] //"apple"let secondFruit = fruits[2] //"orange"배열 수정// 추가, 제거, 삽입, 반전var ..
개발자는 단어선택에 기로에 설 때가 많다. 특히 우리에게 익숙하지않은 단어를 혼동해서 사용할 때가 정말 많다.에러가 발생하고 우리는 소스코드에 커밋을 하거나 배포를 할 때 아래 단어중에 선택할 때가 많다.그러나 정작 차이점을 말해봐라 하면 못 말하는 개발자도 많다. 느낌대로 쓴것이다. 그래서 정리해봤다.1. 패치(Patch) 2. 핫픽스(Hotfix) 3. 콜드픽스(Coldfix) 4. 버그픽스(Bugfix)이 용어들은 종종 혼용되지만, 각각의 용어는 프로그래머가 해결책을 소프트웨어에 적용하는 방식에 따라 차이가 있다.1. 패치(Patch)란 무엇인가?초기의 컴퓨팅 시대에서 패치는 말 그대로 패치(땜빵)였다. 아날로그 컴퓨터는 천공 카드와 종이 테이프를 사용해 프로그램을 입력했고, 이 프로그램들은 ..