728x90 반응형 분류 전체보기231 벡터(면접을 위한 CS 전공지식 노트) 벡터 벡터 프로그래밍에서 "벡터"는 종종 동적 배열 또는 배열의 일종을 의미합니다. 이러한 벡터는 크기를 동적으로 조절할 수 있으며, 여러 항목을 순서대로 저장할 수 있습니다. C++, Python의 NumPy 라이브러리 등에서 벡터를 지원합니다. 벡터는 배열과 비슷하지만, 크기를 조절할 수 있으므로 매우 편리합니다. 동적 배열(백터, Vector): 컴퓨터 프로그래밍에서 "벡터"는 동적 배열 또는 동적 배열 리스트를 가리킵니다. 이것은 배열과 유사하지만, 크기를 동적으로 조절할 수 있는 자료 구조입니다. 벡터는 요소를 순서대로 저장하며, 필요에 따라 크기를 확장하거나 축소할 수 있습니다. 이것은 주로 C++의 std::vector, Python의 NumPy 배열 등에서 사용됩니다. 벡터 그래픽스: 컴퓨.. 2023. 10. 26. 배열(면접을 위한 CS 전공지식 노트) 배열 배열 배열(Array)은 컴퓨터 과학과 프로그래밍에서 중요한 자료구조 중 하나로, 여러 개의 요소를 하나의 변수에 저장할 수 있는 데이터 구조입니다. 배열은 데이터를 순서대로 저장하며, 각 요소는 고유한 인덱스를 가지고 있습니다. 이 인덱스를 사용하여 특정 위치에 있는 요소를 빠르게 찾을 수 있습니다. 배열의 특징 고정된 크기: 배열은 생성할 때 크기가 고정되며, 나중에 크기를 변경하기 어려운 점이 있습니다. 이것은 배열의 주요 단점 중 하나로, 크기가 동적으로 조절되는 자료구조인 리스트와 다릅니다. 인덱스: 배열 내의 각 요소는 0부터 시작하는 고유한 인덱스를 가집니다. 이 인덱스를 사용하여 요소를 읽거나 수정할 수 있습니다. 인덱스를 통해 특정 위치에 있는 요소를 상수 시간(시간 복잡도 O(1).. 2023. 10. 25. 연결 리스트(면접을 위한 CS 전공지식 노트) 연결 리스트 연결 리스트 연결 리스트(Linked List)는 컴퓨터 과학 및 프로그래밍에서 중요한 자료 구조 중 하나로, 데이터 요소의 선형 집합을 표현하는데 사용됩니다. 연결 리스트는 배열과는 다르게 데이터 요소가 메모리상에 연속적으로 저장되지 않고, 각 요소가 다음 요소를 가리키는 링크(혹은 포인터)를 사용하여 연결된 구조를 갖습니다. 이러한 링크로 인해 데이터 요소가 메모리상에서 어디에 저장되는지에 대한 유연성을 제공하며, 데이터 요소를 삽입, 삭제, 또는 재배열하기가 쉽습니다. 연결 리스트 구성 요소 및 특징 노드(Node): 연결 리스트의 각 요소를 나타내는 단위로 노드라고 불립니다. 각 노드는 데이터 요소와 다음 노드를 가리키는 포인터(링크)로 이루어져 있습니다. 헤드(Head): 연결 리스.. 2023. 10. 24. 공간 복잡도(면접을 위한 CS 전공지식 노트) 공간 복잡도 공간 복잡도 공간 복잡도(Space Complexity)는 어떤 알고리즘 또는 프로그램이 실행될 때 필요로 하는 메모리 공간의 양을 나타내는 메트릭입니다. 공간 복잡도는 주로 알고리즘이나 데이터 구조가 메모리를 어떻게 사용하는지를 분석하고 설명하는 데 사용됩니다. 공간 복잡도 목적 메모리 요구 사항 평가: 특정 알고리즘이나 데이터 구조가 얼마나 많은 메모리를 사용하는지 이해하는 데 도움이 됩니다. 이는 시스템 또는 장치의 물리적 메모리 또는 가상 메모리에 대한 요구 사항을 평가하는 데 중요합니다. 자원 관리: 프로그램이나 알고리즘이 사용 가능한 메모리를 효율적으로 활용하는지 확인하는 데 사용됩니다. 메모리 공간의 효율적인 사용은 시스템 성능을 향상시키고, 메모리 부족 문제를 방지하는 데 중요.. 2023. 10. 23. 시간 복잡도(면접을 위한 CS 전공지식 노트) 시간 복잡도 시간 복잡도 시간 복잡도는 알고리즘 또는 자료구조의 성능을 나타내는 메트릭으로, 입력 데이터 크기에 따른 알고리즘 실행 시간의 증가 추이를 설명합니다. 시간 복잡도는 주로 빅 오(O) 표기법을 사용하여 표현되며, 입력 크기 n에 대한 함수로 나타냅니다. 시간 복잡도 개념 최선, 평균, 최악의 경우 (Best Case, Average Case, Worst Case): 알고리즘의 시간 복잡도는 일반적으로 세 가지 경우로 나뉩니다. 최선의 경우 (Best Case): 주어진 입력에 대해 알고리즘이 가장 빨리 실행되는 경우의 시간 복잡도를 나타냅니다. 평균 경우 (Average Case): 입력 데이터의 모든 가능한 경우를 고려하여 평균적으로 알고리즘이 실행되는 경우의 시간 복잡도를 나타냅니다. 최.. 2023. 10. 22. 해시 조인(면접을 위한 CS 전공지식 노트) 해시 조인 해시 조인 해시 조인(Hash Join)은 데이터베이스 쿼리 처리에서 사용되는 조인(Join) 알고리즘 중 하나입니다. 조인은 두 개 이상의 테이블에서 데이터를 결합하여 새로운 결과 집합을 생성하는 연산을 말합니다. 해시 조인은 대용량 데이터셋을 조인하는 데 효과적인 방법 중 하나로, 두 테이블 간의 조인 조건을 만족하는 행을 찾아내기 위해 해시(Hash) 함수를 사용합니다. 해시 조인 주요 특징과 작동 방식 해시 함수 사용: 해시 조인은 조인 키(Join Key) 열의 값을 해시 함수에 입력으로 넣어 해시 값을 생성합니다. 이 해시 함수는 입력 데이터를 무작위로 분산시키는 역할을 합니다. 해시 테이블 생성: 두 개의 조인 대상 테이블 중 하나(일반적으로 크기가 더 작은 테이블)를 선택하고, .. 2023. 10. 21. 정렬 병합 조인(면접을 위한 CS 전공지식 노트) 정렬 병합 조인 정렬 병합 조인 정렬 (Sorting): 정렬은 데이터를 특정 기준에 따라 순서대로 나열하는 과정입니다. 이 과정은 주로 데이터를 빠르게 검색하거나 분석하기 위해 사용됩니다. 일반적으로 정렬은 숫자, 문자열, 날짜 또는 다른 데이터 유형에 대한 정렬이 필요한 상황에서 사용됩니다. 가장 일반적인 정렬 알고리즘으로는 버블 정렬, 선택 정렬, 삽입 정렬, 합병 정렬, 퀵 정렬 등이 있습니다. 각 알고리즘은 다양한 방식으로 데이터를 정렬합니다. 병합 (Merging): 병합은 두 개 이상의 정렬된 데이터 집합을 하나로 합치는 과정입니다. 병합 작업은 주로 정렬된 데이터를 합치는 데 사용됩니다. 예를 들어, 두 개의 정렬된 목록을 합쳐서 하나의 정렬된 목록으로 만들 수 있습니다. 합병 정렬(Mer.. 2023. 10. 20. 중첩 루프 조인(면접을 위한 CS 전공지식 노트) 중첩 루프 조인 중첩 루프 조인 중첩 루프 조인(Nested Loop Join)은 데이터베이스 쿼리에서 사용되는 조인 연산의 한 유형입니다. 이것은 두 개 이상의 테이블에서 데이터를 결합하여 하나의 결과 집합을 생성하는 데 사용됩니다. 중첩 루프 조인은 일반적으로 두 개의 중첩된 루프(반복)를 사용하여 작동합니다. 중첩 루프 조인 작동 방식 외부 루프: 가장 바깥쪽 루프를 시작합니다. 이 루프는 첫 번째 테이블(기준 테이블)의 모든 행을 반복합니다. 내부 루프: 외부 루프의 각 반복에 대해 내부 루프가 시작됩니다. 내부 루프는 두 번째 테이블(결합할 테이블)의 모든 행을 반복합니다. 조인 조건 확인: 내부 루프에서 현재 외부 루프의 행과 현재 내부 루프의 행 간에 조인 조건을 확인합니다. 조인 조건은 일.. 2023. 10. 19. 개발자 화나는 literal does not match format string 오류 해결법 예제) 수정 전 AND WM.WORK_LIMIT_DT 설명: XML에서 닫힌 태그를 나타내는 특수 문자입니다. >를 직접 사용하지 말고 >로 대체해야 합니다. & (앰퍼샌드): 수정: & 설명: XML 엔터티 기호를 시작하는 문자입니다. &를 직접 사용하지 말고 &로 대체해야 합니다. ' (작은.. 2023. 10. 18. 이전 1 ··· 9 10 11 12 13 14 15 ··· 26 다음 728x90 반응형