본문 바로가기

비전공자7

[📚누구나 자료구조와 알고리즘] 4. 버블 정렬과 O(N^2) 정렬이란 단어는 알고리즘을 몰라도 이미 익숙한 단어이다. 엑셀에도 여러 값이 있는 자료를 '정렬'하면 해당 값들이 오름차순 또는 내림차순으로 정렬된다. 정렬 알고리즘도 이와 같이 '정렬되지 않은 배열을 오름차순으로 정렬'하는 방법들이다. 컴퓨터 과학분야에서 오랜 기간동안 다양한 정렬 알고리즘들이 연구 & 개발되었다. 버블 정렬 (Bubble sort) 그 중 가장 기본적인 (그리고 상대적으로 비효율적인) 정렬 알고리즘인 버블 정렬은 아래 gif와 같이 진행된다.(출처) 버블정렬은 원소를 순서대로 두 개씩 비교하면서, 왼쪽 값이 오른쪽 값보다 큰 경우 두 값을 서로 교환하고(swap), 그렇지 않으면 그대로 둔다. 그 다음 오른쪽으로 한 칸 이동해서 똑같은 작업을 수행한다. 이렇게 가장 오른쪽 원소까지 이.. 2022. 9. 13.
[📚누구나 자료구조와 알고리즘] 3. Big-O Notation : O(N), O(1), O(logN), O(N^2) 빅오 (Big-O) 컴퓨터 과학자들이 알고리즘의 효율성(시간복잡도)을 표기하기 위해 수학적 개념을 차용한 방법이 빅 오 표기법이다. [1] 원소가 N개일 때, 알고리즘에 최대 몇 단계가 필요할까? [2] 원소가 N개일 때, 원소가 늘어남에 따라 알고리즘에 필요한 단계 수가 어떻게 늘어날까? 중요 ! 빅오표기법은 결국 위의 질문에 대한 답을 O()의 괄호 내에 나타내는 것이다. O(N) 선형검색 알고리즘의 경우, 최악의 경우 원소 갯수 만큼의 단계가 필요하다. 예를 들어 100개의 원소 중 찾는 원소가 맨 마지막에 있거나, 없는 경우 100번을 모두 검색해야 하기 때문이다. 고로 선형검색을 위의 1번 질문에 대입해보자면 (= 원소가 N개일 때, 선형 검색에는 최대 몇 단계가 필요할까?) 답은 N 이다. 이.. 2022. 9. 13.
[📚누구나 자료구조와 알고리즘] 2. 알고리즘이 중요한 까닭 - 선형검색과 이진검색 이전 포스팅에서는 자료 구조의 기본 연산과, 자료 구조에 따라서 각 연산의 효율성이 달라질 수 있다는 것을 다루었다. 자료 구조의 기본 연산과 속도 측정 (시간복잡도)의 이해 자료구조의 기본 연산 자료구조의 네 가지 기본 연산 방법은 읽기, 검색, 삽입, 삭제 이다. 읽기: 특정 '위치'의 '값'을 찾아내는 연산 e.g. A배열의 3번째 값은 무엇인가? 검색: 특정 '값'의 '위치'를 stay-present.tistory.com 이번 포스팅에서는 동일한 자료 구조에서도 더 효율적인 결과를 낼 수 있는 코드(알고리즘)를 사용할 수 있는 방법을 다루어보려고 한다. 알고리즘 Algorithm. 알고리즘은 어떤 일을 수행하기 위한 명령어들의 집합이다. 카카오톡 보내기 알고리즘이 있다고 가정한다면, 이 알고리즘은.. 2022. 9. 8.
[📚누구나 자료구조와 알고리즘] 1. 자료 구조의 기본 연산과 속도 측정 (시간복잡도)의 이해 자료구조의 기본 연산 자료구조의 네 가지 기본 연산 방법은 읽기, 검색, 삽입, 삭제 이다. 읽기: 특정 '위치'의 '값'을 찾아내는 연산 e.g. A배열의 3번째 값은 무엇인가? 검색: 특정 '값'의 '위치'를 찾아내는 연산 e.g. 'iphone'이라는 값이 A라는 배열에 존재하는가? 있다면 몇번째 위치에 존재하는가? 삽입: 새로운 값을 추가하는 연산 e.g. 'ipad'라는 값을 A라는 배열에 추가 삭제: 특정 인덱스의 값을 제거하는 연산 e.g. 'iMac'이라는 값을 A라는 배열에서 삭제 자료구조 연산의 속도 측정 자료구조를 배우는 궁극적인 목적은 가장 효율적인 자료구조를 사용하기 위해서이다. 그렇다면, 효율성이란 어떻게 측정될 수 있을까? 우선 '속도가 빠른' 자료구조가 효율적이라고 할 수 있.. 2022. 9. 6.
프로그래밍 기초 책 추천 [프로그래밍 비타민] 집 근처 도서관에서 IT분야 책을 보다가 발견한 책이다. 표지 한 켠에 '10대를 위한 프로그래밍 노트'라고 적혀있어서 엄청 쉬운 책인가 싶었는데, 목차를 보니 리스트, 스택, 큐, 트리, 이진 탐색 트리, 다익스트라 알고리즘 등, 기초 자료 구조들 까지 다루고 있었다. 추천 대상 : 프로그래밍 언어와 컴퓨터 자료 구조에 대해서 깊이 공부하기 전에 가볍게 익혀보고 싶은 사람 누구나! 도서 정보: http://www.yes24.com/Product/Goods/19499883 프로그래밍 비타민 - YES24 소프트웨어 교육의 키포인트, 컴퓨팅 사고력과 프로그래밍 원리 이 책은 소프트웨어 교육을 위한 프로그래밍 핵심 원리를 기초부터 알고리즘까지 알려준다.각 장의 주제와 관련된 재미있는 문 www.yes24.c.. 2022. 9. 3.
SW사관학교 정글 5기 합격 후기 SW사관학교 정글 5기 합격 후기 너무나 가고싶었던, SW 사관학교 정글 5기에 최종 합격하였다 .. !! 이 포스팅을 보시는 분들이라면 대부분 SW 사관학교 정글이 무엇인지는 알고계실 것 같아서, 간단하게만 정리해보자면 SW사관학교는 KAIST 전산학부에서 운영하는 비학위과정으로, 전산학부를 전공하지 않은 일반인을 대상으로 전산학부의 핵심 커리큘럼을 가지고 교육하여 좋은 SW 엔지니어를 양성하는 프로그램이다! 프로그램 자체에 대한 소개는 홈페이지에 아주 잘 나와있기 때문에 홈페이지(링크)를 참고하시는 것을 추천한다! SW사관학교 정글에 지원한 이유 개발자의 길을 걷고 싶어 퇴사를 갈겨버린 비전공자인 나는 계속해서 좋은 SW 교육 프로그램들을 탐색해왔다. 특히 이 곳에서 부트캠프 일정과 가격 등을 잘 안.. 2022. 9. 1.
반응형