목록분류 전체보기 (108)
Keep going
보호되어 있는 글입니다.
1. 퀵 정렬 퀵 정렬은 각 그룹에 대해 피벗 설정과 그룹 나눔을 반복하여 모든 그룹이 1명이 되면 정렬을 마친다. 5 (pl) 7 1 4 6 (pivot) 2 3 9 8 (pr) 1. a[pl] >= x 가 성립하는 요소를 찾을 때까지 pl을 오른쪽으로 스캔합니다. 2. a[pr]
정렬이란? 정렬은 이름, 학번, 키 등 핵심 항목의 대소 관계에 따라 데이터 집합을 일정한 순서로 줄지어 늘어서도록 바꾸는 작업을 말한다. 안정된 정렬이란? 같은 값의 키를 가진 요소의 순서가 정렬 전후에도 유지되는 것을 말한다. 내부 정렬 : 정렬할 모든 데이터를 하나의 배열에 저장할 수 있는 경우에 사용하는 알고리즘 외부 정렬 : 정렬할 데이터가 너무 많아서 하나의 배열에 저장할 수 없는 경우에 사용하는 알고리즘 1. 버블 정렬 버블 정렬은 이웃한 두 요소의 대소 관계를 비교하여 교환을 반복한다. static void bubbleSort(int[] a, int n) { for (int i = 0; i i; j--) { if (a[j - 1] > a[j]) { swap(a, j - 1, j); exch..
데이터 다룰때 사이클 기본 : CRUD (Create + Read + Update + Delete) 테이블, 사용자 → DDL 명령어 레코드 → DML 명령어 생성 CREATE INSERT 읽기 SELECT SELECT 수정 ALTER UPDATE 삭제 DROP DELETE SQL 명령문 작성 기본 SQL 명령문과 키워드들은 대소문자 가리지 않는다. 문자열은 홀따옴표 '~' 로 감싼다. 문자열 내의 내용은 대소문자 가린다. 여러줄에 걸쳐 명령문 입력 가능 명령문입력이 끝나면 세미콜론 입력 DML은 COMMIT 명령을 실행하기 전까지는 임시저장만 된다. COMMIT; 을 해야만 데이터베이스로 내용이 업데이트 된다. 1. INSERT - 테이블에 레코드 추가 INSERT INTO [테이블 이름] VALUES..
사용자 생성 / 권한 부여, 박탈 / 사용자 삭제 CREATE USER GRANT, REVOKE 테이블 생성 / 수정/ 삭제 CREATE TABLE, ALTER TABLE, DROP TABLE sys / system 차이 1. sys 계정 - oracle DB 관리자, super user - data dictionary를 갖고 있음 - db 생성 및 삭제 가능 2. system 계정 - 관리자 계정 (하나의 관리자) - 권한은 sys와 동일하나 db를 생성할 권한 없음 sys는 system과 같은 계정을 여럿 만들수도 있다. 사용자에 관한 쿼리문 현재 접속 사용자 확인하기 : SHOW user; 접속 종료 : quit; 새로운 사용자 생성 : CREATE CREATE USER [아이디] IDENTIFIE..
Database 란? 여러 사람이 공동으로 공유하여 사용할 목적으로, 통합하여 관리되는 저장된 형태의 데이터의 집합. 자료 항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신등 운영의 효율을 높인 데이터의 집합. DBMS 란? 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어 집합. table에 데이터가 저장된다. 각 테이블은 열과 행으로 구성된다. 열(초록색) - column, field, attribute(속성)로 불리고 테이블의 구조를 표현 행 - row, record, tuple 라 불린다. 테이블의 구조를 테이블 스키마 라고 부른다. name email professor 홍길동 hong@hong.net 100 전우치 chu..
재귀란? 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라고 합니다. 재귀함수를 이용하는 대표적인 알고리즘 - 팩토리얼 public class Factorial { static int factorial(int n) { if(n>0) return n*factorial(n-1); else return 1; } } cs - 유클리드 호제법 public class EuclidGCD { static int gcd(int x, int y) { if(y==0) return x; else return gcd(y,x%y); } } cs - 하노이의 탑 public class Hanoi { // no개의 원반을 x번 기둥에서 y번 기둥으로 옮김 static void move(int no, ..
큐란? 큐는 스택과 마찬가지로 데이터를 일시적으로 쌓아 두기 위한 자료구조입니다. 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 선입선출(FIFO) 구조로 되어 있습니다. 인큐(enque) : 큐에 데이터를 넣는 작업 디큐(deque) : 데이터를 꺼내는 작업 프런트(front) : 데이터를 꺼내는 쪽 리어(rear) : 데이터를 넣는 쪽 배열로 큐 만들기 인 큐 할때 시간 복잡도 : O(1) 디 큐 할때 시간 복잡도 : O(n) → 첫 요소를 꺼낸 다음에 두번째 이후의 요소를 모두 맨 앞으로 옮긴다. (비효율적) 링 버퍼로 큐 만들기 링 버퍼는 배열의 처음이 끝과 연결되어있다고 보는 자료구조이다. (배열 요소를 앞쪽으로 옮기지 않아도 된다.) - 프런트 : 맨 처음 요소의 인덱스 - 리어 : 맨 끝 요소의..