목록분류 전체보기 (25)
Finn의 개발블로그
1. Linked List- 각각의 원소들은 자기 자신의 다음을 알고 있어서 삽입,삭제 시에 Big-O(1) 시간을 소모- 원하는 위치에 삽입을 하려면 Search 과정이 생겨 Big-O(n) 시간을 소모, 삭제도 동일한 시간을 소모- Search, 삽입, 삭제 에도 결국 Big-O(n) 시간을 소모 1-1. Linked List ADT- init(self, sort) - 링크드 리스트 초기화 - sort는 sort 함수 지정- append(self, data)- data값을 node에 전달하여 저장- append_with_sort(self, data)- data값을 오름 차순으로 정렬하며 저장- remove(self, index):- 지정한 인덱스의 데이터를 삭제한다.- search(self, sear..
django 2.1이 되면서 json field에 대해서 대부분을 지원하지만 order_by에 대해서는 지원하지 않아서 찾아봤습니다 django model class Country(model.Model)name = models.CharField(max_length=255)data = JSONField(default=dict) json example{"country":{"city_number":12}} Solution Country.objects.all().annotate(city_number=KeyTransform('city_number', KeyTextTransform('country', 'data'))).distinct().order_by('city_number')
DELETE데이터 베이스에서 데이터를 삭제한다.DELETE FROM table_name WHERE condition;DELETE FROM Customers WHERE CustomerName='Around the Horn'; SELECT TOP데이터 베이스에서 데이터를 원하는 수 만큼 표시한다.SELECT column_name(s) FROM table_name WHERE condition LIMIT number;SELECT * FROM Customers LIMIT 3;WHERE 조건 문과 같이 사용 가능하다SELECT * FROM Customers WHERE Country='UK' LIMIT 3; MIN(), MAX()MIN 데이터 베이스에서 가장 작은 값을 표시한다 SELECT MIN(column_nam..
- SQL 이란- SQL은 관계형 데이터 베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 SELECT 데이터 베이스에서 정보를 선택 한다SELECT column1, column2, ... FROM table_name;SELECT CustomerName,City FROM Customers; SELECT DISTINCT 데이터 베이스에서 중복된 데이터를 제외하고 선택한다 SELECT DISTINCT column1, column2, ... FROM table_name;SELECT Country FROM Customers;SELECT DISTINCT Country FROM Customers;WHERE 데이터 베이스에 필터를 걸어 선택한다 SELECT column1, ..
1. Elastic Search란? - 아파치 루씬을 기반으로 개발된 오픈소스 분산 검색 엔진(서버) 2. Elastic Search 특징?- 루씬을 기반으로 만들어져 루씬의 기능을 대부분 지원사용자 위치 정보 이용가능 다국어 검색 지원자동 완성 지원미리 보기 지원철자 수정 기능 지원- 분산 시스템엘라스틱 서치는 여러개의 노드로 구성되는 분산 시스템노드는 데이터를 색인하고 검색을 수행하는 단위 프로세스기존 노드에 새 노드를 실행하여 연결하는 것만으로 확장 가능데이터는 각 노드에 분산 저장복사본을 유지하여 각종 출동로부터 노드 데이터 보호DISCOVERY를 내장하여 별도의 분산 시스템 관리자 불필요- 높은 가용성엘라스틱 서치는 하나 이상의 노드로 구성각 노드는 1개 이상의 데이터 우너본과 복사본을 서로 다..
1. Array - 가장 기본적인 자료구조- 찾고자 하는 데이터의 인덱스의 값을 알고 있으면 Big-O(1) 시간으로 접근 가능- 배열의 크기가 지정되어서 만약 길이를 늘혀야 한다면 많은 메모리 소모- 데이터의 삽입 삭제시 연속성을 유지하기 위해서 데이터의 이동 발생으로 Big-O(N) 시간 소모 2. 배열을 이용한 리스트의 구현(Abstract Data Type) 2-1. 리스트 자료구조의 ADT- init(self):- 리스트를 초기화 한다.- append(self, data):- 리스트에 데이터를 저장한다. 매개변수 data에 전달된 값을 저장한다.- remove(self, index):- 지정한 인덱스의 데이터를 삭제한다.- search(self, search_data)- 현재 리스트에서 특정한 ..
1.재귀- 재귀함수의 기본적인 이해- 재귀 함수를 실행하는 중간에 다시 재귀 함수가 호출되면, 재귀 함수의 복사본을 하나 더 만들어서 복사본을 실행하게 됩니다. 2.Factorial- n! = n x (n-1) x (n-2) x (n-3) x ... x 2 x 1def factorial(num): if num search_list[mid]: return r_binary_search(search_list, mid + 1, last, target) else: return r_binary_search(search_list, first, mid - 1, target) e_list = [1, 2, 3, 4, 5, 6, 7, 8, 23, 24] print(r_binary_search(e_list, 0, len(e_..
1. 자료구조란 무엇인가? 데이터를 표현하고 저장하는 방법 자료구조의 분류선형구조리스트스택큐비선형구조트리그래프파일구조순차파일색인파일직접파일단순구조정수실수문자문자열2. 알고리즘의 성능분석 방법알고리즘을 평가하는 두 가지 요소 시간복잡도알고리즘의 수행시간 분석결과공간복잡도메모리 사용량에 대한 분석결과순차 탐색 알고리즘과 시간 복잡도 분석의 핵심요소def linear_search(search_list, target): for i in search_list: if i == target: return i return result = linear_search([1, 2, 3, 4, 5, 6], 8) print(result) --------------------------------- None 좋은 탐색 알고리즘은 ..