정렬에 대한 세번째 포스팅으로 빠른 정렬, 퀵 소트에 대해서 알아보겠습니다. 이전 게시글 )정렬(Sort) : 삽입정렬(Insertion Sort) : http://andrew0409.tistory.com/138파이썬 예제 : 리스트를 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/65파이썬 예제 : 튜플(Tuple)을 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/66 퀵 정렬(quick sort)은 기준키를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 하여 작은 값을 갖는 데이터와 큰 값을 갖는 데이터로 분리해가며 정렬하는 방법입니다. 퀵 정렬은 재귀적으로 실행되기 때문에..
어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다."재귀함수가 뭔가요?" "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. 그의 답은 대부분 옳았다고 하네. 그런데 어느날, 그 선인에게 한 선비가 찾아와서 물었어."재귀함수가 뭔가요?" "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을... 재귀함수와 관련된 재미있는 일화입니다. 이를 통해 한가지를 유추할 수 있죠. 위의 이야기는 "무한루프"에 빠지게 된다는 점입니다. 재귀함수에 대한 본격적인 설명을 시작하기 전에 제가 한가지 당부하고 싶은점은, 재귀함수를 만들때 빠져나가는 곳을 명확하게 정해놓지 않으면 재귀함수는 무한..
검색에 대한 알고리즘 중 선형검색과 이진검색에 대하여 알아보도록 하겠습니다. 선형 검색(Linear Search)다른이름으로 순차 검색(Sequential Search) 이라고도 하는 선형검색에 대하여 먼저 알아보겠습니다.선형 검색은 데이터가 모인 집합(배열, 링크드리스트 등)의 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 찾아내는 알고리즘입니다. → 순차적으로 검색 3 5 2 1 0 9 7 8 6 4 데이터를 정렬하거나 따로 건드릴 필요가 없고, 난이도가 쉬운 편이나, 데이터의 양이 많아지면 검색에 소요되는 시간도 비례하여 많아지고, 하나씩 일일이 비교하기 때문에 비효율적이라는 단점이 있습니다. 예를들어 위와 같은 데이터의 집합이 있을경우 4를 찾으려면 10번의 비교를 거쳐야 합니다. 100만..
이번 글은 자료구조 두번째 포스팅으로 선택정렬에 대하여 다루어 보겠다. 이전 게시글 )정렬(Sort) : 삽입정렬(Insertion Sort) : http://andrew0409.tistory.com/138파이썬 예제 : 리스트를 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/65파이썬 예제 : 튜플(Tuple)을 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/66 참고용으로 올린 위 그림은 선택정렬의 알고리즘을 그림으로 표현한것입니다.이전 포스팅인 삽입정렬에서 설명이 조금 부족했다는 생각에 덧붙이자면, 삽입정렬은 배열 내 "정렬된 부분" 과 "정렬되지 않은 부분"이 있을때 정렬되지 않은 부분에서 가장 작은 숫자를 ..
자료구조 정렬에 대한 첫번째 포스팅, 정렬 알고리즘에 대해 공부하고자 들어오셨다면 읽고 가시면 되는데 필요한 분이 있을것 같아서 파이썬 정렬에 대한 링크 첨부합니다. 파이썬 예제 : 리스트를 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/65파이썬 예제 : 튜플(Tuple)을 정렬(Sort)하는 여러가지 방법 : http://andrew0409.tistory.com/66 그럼 지금부터 자료구조 정렬(Sort)에 대한 첫번째 포스팅으로 삽입정렬에 대하여 간단하게 알아보도록 하겠습니다. 아래는 삽입정렬의 알고리즘을 그림으로 표현한것 아래 동영상을 한번 참고해보실까요, 영상은 삽입정렬에 대한 알고리즘을 포크댄스로 표현한 것입니다. 이해를 돕기위하여 첨부합니다. 위 ..
지난 게시글에서 추상 자료형(ADT)에 대해서 알아보았다. 추상 자료형, 혹은 추상화에 대한 개념이 안잡힌 분들은 아래 링크를 통하여 이전 게시글을 먼저 보고 오기를 추천한다.오늘은 데이터의 캡슐화, 혹은 데이터 하이딩 기법, 데이터 은닉에 대해서 공부해보고자 한다. 추상자료형(ADT)란 무엇인가 : http://andrew0409.tistory.com/136 데이터의 캡슐화, 데이터 하이딩 기법, 데이터 은닉 여러 번역이 있지만 결과적으로 똑같은 말이다. 용어의 통일성을 위하여 나는 캡슐화라 칭하겠다.그럼 데이터의 캡슐화란 무엇인가. 예를 들어 설명해 보겠다. 아래는 학생이라는 이름의 캡슐 그림 좌측은 데이터영역, 이름과 연락처가 문자열 변수로 선언되어 있고, 성적과 매력이 정수형 변수로 선언되어 있다..
추상 자료형(ADT)는 무엇인가? 자료구조를 이해하기 위해서는 추상 자료형(ADT)에 대해 먼저 숙지하는 것이 중요하다. 그렇다면 알아보자 추상 자료형이란 무엇인가.우선 추상 자료형이라는 단어만 봤을때 느낌은 "추상화 된 자료형" 정도인데, "추상화" 라는 말이 조금 어렵다. 이에 대해서 정리해 보도록 하자. C++ 에서의 클래스를 생각하면 쉽다. 예를들어 우리가 일상에서 흔히 쓰는 티비를 클래스로 가진다고 생각해보자. 클래스의 이름은 Tv가 될 것이다.이때 사용하는 기능은 전원 켜기, 전원 끄기, 채널변경, 볼륨변경 이렇게 4가지 기능이 있다고 생각해 보면 이를 인터페이스 함수로 만들 수 있다. 12345678910class Tv{ private: //생략 public: PowerOn(); //파워 온..
얼마전 대학생을 위한 프로그래밍 대회 및 공모전에 대해 소개한 적이 있다.관련 포스팅 : http://andrew0409.tistory.com/132 그중 본문 말미에 별도 포스팅으로 이야기 하겠다고 했던 구글 코드잼 2016이 지금으로부터 약 7시간 뒤에 시작한다. 구글 코드잼은 구글에서 개최하는 프로그래밍 대회로서 전세계 개발자가 참가하는 큰 대회이다. 주된 내용은 프로그래밍 언어로 수학 문제를 해결하는 것인데, 홈페이지가 영어이다 보니 문제도 영어이다. 그래서 문제를 풀어내려면 영어를 잘하는게 유리하다. 그런면에서 우리나라 개발자는 외국의 개발자에 비해서 불리하다 생각된다. 아쉽지만.. 본선 1등을 하면 구글 입사의 기회가 주어지고, 1000등 이내에 들면 구글 티셔츠가 증정된다고 한다. 13년째 ..
1. The Noun project사이트 주소 : https://thenounproject.com/소개 : 코드리뷰든 뭐든 발표를 하려면 그에 맞는 프레젠테이션을 준비해야한다. 파워포인트던, 프레지던간에 우리는 아이템에 대한 발표를 하기 위해 그에 알맞는 픽토그램이나 아이콘등을 찾아야 한다. 또한 MFC 프로그래밍등에서 아이콘으로 사용할 그림파일도 여기서 구할 수 있겠다. 이 사이트에서는 해당하는 키워드를 입력하면 관련된 픽토그램을 여러개 보여주고 무료로 다운로드 까지 받을수있다. 아래는 "save" 라는 키워드로 검색한 결과 2. 온라인 포토샵 에디터 pixlr사이트 주소 : https://pixlr.com/editor/소개 : 온라인으로 쉽게 포토샵을 접할 수 있는 사이트이다. 포토샵이 설치되지 않은..
지난 포스팅에 대학생을 위한 프로그래밍 경시대회 및 공모전에 대한 포스팅을 썼는데, 그에 이어 넥슨 프로그래밍 경시대회인 NOS를 소개하고자 한다.대학생을 위한 프로그래밍 경시대회 및 공모전 : http://andrew0409.tistory.com/132 넥슨 프로그래밍 경시대회 NOS공식 홈페이지 : https://www.nexonin.com 매년 6월경에 접수를 받는듯 하다. 이번 학기에 삼성 프로그래밍 경시대회와 더불어 한번 노려봄직 하다 생각이 든다.각종 미션을 통하여 대회가 진행되는데, 실시간 랭킹 시스템 만들기, 바이러스를 막아라, 자동 플레이 시스템 만들기 등 게임 시스템과 관련한 미션이 주어지는 모양이다.
- Total
- Today
- Yesterday
- 파이썬
- C++
- 터미널
- 프로세스
- 정렬
- 파일
- C
- 스레드
- 데이터베이스
- 안드로이드
- socket
- 파이썬예제
- 유즈케이스
- 액터
- 자료구조
- 리눅스
- 소켓 프로그래밍
- 티라노 시그널
- 쓰레드
- MFC
- 디렉터리
- 소켓
- C/C++
- 악보
- 클래스
- 티그널
- 라즈베리파이
- Sort
- UML
- 클라이언트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |