Sa-gom Blog

No bottom

[Datastructure] Heap Sort, 힙 정렬 알고리즘

여러 정렬 알고리즘에 대해 알아봅시다 Heap Sort Pre 이 자료구조의 장점은 다음에 선택할 최대원소를 어디에서 찾아야 할지 알고 있다는 점에서 이점이 있다. 힙의 루트원소를 꺼내고 적절한 위치에 넣는다. 남아있는 원소를 다시 힙시킨다. 더 이상 남은 원소가 없어질 때까지 반복해서 수행한다. 힙의 특성에 따라 매번 O(log(N))...

[MIDAS CHALLENGE] 마이다스 챌린지 후기

마이다스 챌린지 해커톤 후기 온라인 서류접수, 예선, 본선까지 1달 조금 더 걸린 여정에 대단원의 막을 내렸다 다음은 정확한 일정이다 온라인 예선 나는 웹솔루션 분야로 지원했는데, 사실 온라인예선 알고리즘 시험에 죽을 쒀서 본선에 진출 못할 줄 알았다. 그런데 왠걸? 발표당일 문자가 왔고 확인해보니 예선에 통과됐으며 오티에 참가해달라는 내용과 ...

[JDBC] 서블릿 커넥션 풀 설정

JDBC 커넥션 풀을 연결해보자 package jdbc; import org.apache.commons.dbcp2.*; import org.apache.commons.pool2.impl.GenericObjectPool; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import ja...

[Datastructure] B-Tree를 알아보자

균형잡는 트리 Balanced Tree 인 B-tree에 대해 알아보자 Balanced Tree의 필요성 트리의 성능을 결정하는 것은 트리의 높이이다. 하지만 기존 BST에 최악의 경우 O(N)의 검색시간이 측정되는 이른반 선형구조가 형성될 수가 있다. 하지만 Balanced Tree는 트리가 변할때 필요하면 스스로 균형을 유지한다. ex)...

[Algorithm] 백준 1653 pan_balance

백준 온라인 저지 1653 양팔 저울 문제 무게가 서로 다른 추들의 집합이 주어진다. 각 추의 무게는 1g 이상 9g 이하의 정수이다. 이 추들 중에서 몇 개를 선택하여 양팔저울에 올려서 평형을 만들고자 한다. 양팔저울에는 양쪽에 5개씩 등간격의 눈금이 표시되어 있고 추는 눈금 위에만 놓일 수 있다. 한 눈금 위에는 하나의 추만이 놓일 수 있다. ...

[SimSQL] DDL과 DML구분, SQLProcessor, struct Data

SimSQL의 중간 개발단계 SQLProcessor 조금씩 가닥이 잡혀가고 있다. 사용자로 부터는 Schema정보와 sql을 받아온다. 구문처리기는 SQLProcessor.Process(sql,schema)로 sql을 처리한다. 가장처음 commit 혹은 read를 구분한다. 이 2개가 아니라면 DDL과 DML을 구분하여 각각의 sql처리를 다르게 ...

[Datastructure] 이진 검색 트리

이진 검색 트리 이진트리의 정의: 단일 시작 노드를 가진 자료 구조로 각 노드는 두 개의 자식 노드를 가진다. 그리고 루트로부터 트리 내의 모든 노드로는 유일한 경로가 존재한다. 논리적 레벨 각 노드는 자식이라고 불리는 두 개의 상속노드를 가질 수 있다. 또한 이진 트리에 있는 각 자식 노드는 역시 두개의 자식노드를 가질 수 있고 ...

[Algorithm] 백준 2437 저울

백준 온라인 저지 2437 저울 문제 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다. 무게가 양의 정수인 N개의 저울추가 주어질 때, 이...

[Algorithm] 백준 1543 문서 검색

백준 온라인 저지 2437 저울 문제 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만드려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수...

[SimSQL] Insert와 Main

SimSQL의 초기 개발단계 프로젝트 목적 자료구조 수업을 진행하며 나의 실력을 향상, 공부에 목적이 있다. 수업시간에 배운 내용을 바탕으로 간단한 데이터베이스 관리프로그램을 구현하려한다. 프로젝트 진행상황 Main 과 Table를 구현하였다. 현재는 데이터를 추가하고 조회하는 기능만 있으며 구문처리를 구상하는데 많은시간을 들였지만 결과적으론 별거...