| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- backjoon
- dp
- 자바
- 익명객체
- 다이나믹 프로그래밍
- 금융IT
- 프로그래머스
- 너비탐색
- Android
- 재귀함수
- 삼성SW테스트
- 언더라이터
- 알고리즘
- 삼성sw문제
- 안드로이드
- 개발
- 익명클래스
- 백준 알고리즘
- 모바일
- dfs
- IT
- 데이터베이스
- CKLU
- 네트워크
- 현대오토에버 코딩테스트
- Java
- BFS
- 백준
- 조합
- 멀티스레드
- Today
- Total
목록전공지식 (33)
Limky 삽질블로그
#단순 연결리스트 이번시간은 연결리스트에 대해서 알아보겠습니다. 먼저 리스트란, 자료구조의 한 종류로써 순차적으로 data를 저장하고 순차적으로 data를 처리하는데 유리합니다. 연결리스트에도 종류는 다양합니다. (단순,원형,이중) 하지만, 저는 연결리스트를 단순 연결리스트로 생각하고 설명하겠습니다. 리스트에는 배열리스트, 연결리스트가 있는데, 배열리스트는 얼마나 리스트가 생기고 줄어드는지 미리 파악할 수 없기에 단순히 미리 크기 값을 할당합니다. 따라서 메모리 누수가 발생할 가능성이 있습니다. 너무 큰 크기로 배열을 잡았다가, 실제 다 사용하지 않는다면 메모리가 낭비되기 때문이죠. 하지만 연결리스트는 필요시에만 메모리를 동적으로 할당하기 때문에 메모리 누수가 발생되지 않고 유연합니다. 또한, 배열리스트..
버블정렬 (Bubble Sort) 버블정렬에 대해서 알아보겠습니다. 버블 정렬은 자기자신 뒤에 오는 요소와 끊임없이 비교하면서, 오름차순일 경우 가장 큰 수가 뒤에서부터 정렬되는 정렬알고리즘입니다. 또한 마지막 Sorting시에는 첫번째 요소를 제외하고 모두 정렬됐기 때문에 자연스럽게 첫번째정렬됩니다. 그림을 보면서 이해해 봅시다. 우선 5와 3을 비교하고 5가 더 크기 때문에 교환합니다.다음 버블인 5와 4를 비교하고 5가 더 크기 때문에 교환합니다. 이제 5와 1을 비교하고 5가 더 크기 때문에 교환한 후 정렬 1회전을 종료합니다. 5가 가장 큰 수였기 때문에 차례대로 진행되는 모든 비교에서 이기고 결국 제일 큰 숫자의 자리인 끝의 자리를 차지하게 됩니다. 다음 2회전을 보겠습니다.3과 4를 비교하고..
선택정렬 (Select Sort) 선택정렬에 알아보겠습니다. 선택정렬은 정렬되지 않은 영역에서 가장 작은 값을 찾고, 정렬 대상 요소와 교환하는 방식이다. 간단히 제일 작은 요소부터 앞에서 부터 차례대로 줄을 서는 것이다. 그림으로 설명해보자. 3회전을 하는 과정이다. 우선 회색으로 칠해져 있는 것은 아직 정렬되지 않은 영역이다.정렬되지 않은 영역 첫번째 부터 차근차근 정렬을 하면 된다. 정렬되지 않은 요소 중 첫번째 요소인 5와 나머지 요소를 비교하여 가장 작은 요소의 index 위치를 찾는다. 찾은 후 교환해주면 된다. 위 원리를 코드로 나타내면 다음과 같다. package Sort; import java.util.Arrays; public class SelectSort { public static ..
삽입정렬(Insert Sort) 삽입정렬은 정렬한 부분과 정렬하지 않은 부분을 나눈 후 정렬할 대상인 대상을 정렬하지 않은 부분에서 차례대로 꺼내 정렬한 부분의 요소들과 차례대로 비교를 하면서 자신이 삽입될 인덱스를 찾는다. 이 과정에서 정렬된 부분의 요소들이 현대 정렬대상보다 클 경우 한칸씩 뒤로 밀리면서 정렬대상이 들어갈 공간을 마련해준다. (오름차순인 경우) 자 말로하니까 어렵다. 한 단계씩 그림으로 설명해보자. 파란색은 이미 정렬된 영역이라고 하자. 빨간영역은 정렬되지 않은 영역이다.삽입정렬은 기본적으로 0번째 요소는 정렬된 것이라 가정하고 시작한다. 우선 1회전 과정을 살펴보자. 0번째 요소는 정렬됐다고 가정했으니, 1번째 요소 값이 정렬할 대상이다. Temp에 1번째 요소 값인 2를 임시저장한..
데이터 베이스 키(Key)의 개념 및 종류 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)입니다. *튜플 : 릴레이션을 구성하는 각각의 행, 속성의 모임으로 구성된다. 파일 구조에서는 레코드와 같은 개념, 튜플의 수 = 카디널리티(Cardinality) = 기수 = 대응수 릴레이션학번 주민번호 성명 성별 1001 810429-1231457 김형석 남 1002 800504-1546781 김현천 남 1002 811216-2547842 류기선 여 1003 910322-1233445 홍영선 여 릴레이션학번 과목명 1001 영어 1001 전산 1002 영어 1003 수학 1004 영어 1004 전산 1. 후..
트랜잭션(Transaction) 개념 C나 Java와 같은 프로그래밍 언어로 작성된 응용 프로그램은 명령어들의 집합으로 볼 수 있는데, 이러한 프로그램들은 세부적으로 여러 개의 함수나 클래스 단위로 구성됩니다. 함수나 클래스들은 전적으로 프로그래머가 프로그래밍의 편리성과 효율성 중심으로 설계한 결과물입니다. 그러나 데이터베이스 응용프로그램에서는 프로그램의 구성을 다른 관점으로 살펴 볼 수 있습니다. 예를 들어 은행 업무에 관련된 데이터베이스 응용 프로그램을 가정해봅시다. 이 프로그램은 계좌이체, 대출, 예금, 출금 등과 같이 은행에서 이루어지는 여러 가지 업무처리에 관련된 세부 프로그램들로 구성됩니다. 이러한 세부 프로그램들은 사용자 입장에서 보면 하나의 작업 단위가 됩니다. 그리고 이러한 작업들을 수행..
안녕하세요. 림키입니다. 오랜만에 글을 쓰네요.. 요새 너무 바뻐서 ㅠㅠ... 이번 시간은 그래프를 탐색하는 방법 중 하나인 깊이탐색 DFS(Depth First Search)에 대해서 알아보도록 하겠습니다. 깊이탐색 DFS(Depth First Search)은 저장된 그래프의 모든 정점을 1번 방문하는 방법 중 하나입니다. 깊이탐색 DFS(Depth First Search)은 스택을 이용하며, 갈 수 있는 만큼 최대한 많이 가고 갈 수 없을 경우 이전 정점으로 돌아가서 다시 탐색을 하는 녀석입니다. 저는 먼저 코드를 바탕으로 설명을 하고자 합니다. 다른 블로그에는 설명 이후 코드를 하지만 반대로 해볼까 합니다. 그래프를 저장하는 방법에는 크게 3가지가 있습니다. 인접행렬, 인접리스트, 간선리스트.. 저..