본문 바로가기
반응형

Computer Science84

[주제 별 탐구] 프로세스와 스레드 [프로세스의 의미] 프로세스가 가지는 의미는 다양하지만 일반적인 프로세스의 정의는 '실행중인 프로그램'이다. 프로그램은 컴파일한 코드와 초기화 전역변수, 문자열과 문자열 상수 등 정적인 데이터를 포함하는 정적 개체다. 디스크에 있던 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태가 되면 프로세스가 되는 것이다. 이는 자신만의 메모리 공간이 있다는 뜻이 된다. 프로세스는 프로그램 카운터나 레지스터처럼 현재 어떤 자원을 사용하는지 관련 정보가 들어 있는 동적 개체이다. [프로세스의 일반적인 메모리 구조] - 스택 데이터를 일시적으로 저장하는 영역. 지역 변수에 사용하고, 변수가 범위 밖으로 이동하면 공간을 해제한다. 호출한 함수의 반환 주소, 반환 값, 매개변수 등에 사용하고, 함수를 호출할 수록 .. 2022. 2. 21.
[알고리즘] 증가하는 최장 부분 수열(LIS) https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net LIS라는 명칭으로 잘 알려진 문제다. 결론부터 얘기하면 DP로 접근하여 풀 수 있다. 아래는 나의 답안 코드다. n = int(input()) nums = list(map(int, input().split())) lst = [0 for _ in range(n)] for i in range(n): max_val = 0 .. 2021. 11. 12.
[컴퓨터 구조] 기본 논리 연산을 활용한 응용 논리 연산 기본적인 논리연산(AND, OR, XOR, NOT)을 안다는 가정하에 다음 네 가지를 살펴보자. 첫번째. 1과 OR연산하기 기존 비트가 0이었다면 0 OR 1 -> 1 기존 비트가 1이었다면 1 OR 1 -> 1 => 무조건 1이 나온다는 것이 특징! 두번째. 1과 AND연산하기 기존 비트가 0이었다면 0 AND 1 -> 0 기존 비트가 1이었다면 1 AND 1 -> 1 => 무조건 자기 자신이 나온다는 것이 특징! 세번째. 0과 OR연산하기 기존 비트가 0이었다면 0 OR 0 -> 0 기존 비트가 1이었다면 1 OR 0 -> 1 => 무조건 자기 자신이 나온다는 것이 특징! 네번째. 0과 AND연산하기 기존 비트가 0이었다면 0 AND 0 -> 0 기존 비트가 1이었다면 1 AND 0 -> 0 => 무.. 2021. 10. 25.
[자료구조] 해쉬 함수의 충돌(collision) 문제 해결 ------------------------------------------------------------------- 요약: 다음과 같은 방법들로 해쉬 함수의 충돌을 방지함 - 오픈 어드레싱(open addressing method) 1. 선형 조사법(Linear Probing) 2. 이차 조사법(Quadratic Probing) 3. 이중 해쉬(Double Hash) - 닫힌 어드레싱(closed addressing method) 4. 체이닝(Chaining) -------------------------------------------------------------------- 해쉬함수의 충돌(collision) 문제 해결 1. 선형 조사법(Linear Probing) - 충돌 발생 시 그 옆자.. 2021. 10. 21.
[데이터베이스] (完)강의 정리 9장 - SQL 데이터 정의 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 9. SQL 데이터 정의 데이터 정의어: 테이블을 생성하고 변경, 제거하는 기능제공 데이터 조작어: 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능제공 데이터 제어어: 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능제공 CREATE TABLE: 테이블 생성 ALTER TABLE: 테이블 변경 DROP TABLE: 테이블 삭제 CHECK문: 테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건을 지정 SELECT: 데이터 검색 AS 키워드를 통해 .. 2021. 10. 17.
[데이터베이스] 강의 정리 8장 - 관계 데이터 연산 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 8. 관계 데이터 연산 관계 데이터 연산: 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 관계 대수: 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 관계 해석: 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술(결과의 관점) 릴레이션을 처리하는 연산자는 대표적으로 8개가 존재. 일반 집합 연산자와 순수 관계 연산자로 분류할 수 있다. 일반 집합 연산자: 릴레이션이 튜플의 집합이라는 개념을 이용하는 연산자 1. 피연산자가 2개 필요 2. 합집합, 교집합, 차집합은 피연산자인 두 릴레이션이 합.. 2021. 10. 17.
반응형