취준 note 2023/자료구조 알고리즘
코드없이 보는 데이터+알고리즘
출처- 코드없이 보는 알고리즘 데이터구조 1 데이터 구조 알고리즘 기본 자료형 빅 오(o)표기법 2 선형 데이터 구조인 배열,연결 리스트,스택,큐를 설명한다. 3 트리와 트리 기반 데이터 구조를 설명 4 해시 데이터 구조를 소개한다 5 그래프의 기초를 간략하게 설명한다 알고리즘 6 선형 탐색 이진 탐색 7 정렬 알고리즘이 버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬을 설명한다 8탐색 알고리즘이 너비 우선 탐색, 데이크스트라 알고리즘, A*알고리즘 9군집 알고리즘이 K-평균 알고리즘과 K-최근접 이웃 알고리즘을 소개하고, 머신러닝과 신경망을 간단히 살펴본다 알고리즘과 데이터구조를 이해하는데 필요한 지식들 10무작위성 개념에 대한 몇가지 기본 지식을 설명한다 11스케줄링 알고리즘인 선착순 스케..
자료구조 - 시간복잡도
연결 리스트 스택 & 큐 체인 해시 트리 정렬 시간 복잡도 시간 복잡도는 서로 다른 알고리즘의 효율성을 비교할 때 사용합니다. 시간 복잡도에는 몇 가지 규칙이 있습니다. input \geq≥ 0 functions do more work for more input drop all constants ignore lower order terms ignore the base of logs - 2n = O(n)2n=O(n) => 2n \in O(n)2n∈O(n) 규칙 1. 입력값(n)은 항상 0보다 크다. 입력값이 음수일 수는 없습니다. 그래서 복잡도는 항상 0보다 크다고 가정하고 계산 규칙 2. 함수는 많은 입력값이 있을 때 더 많은 작업. 더 많은 입력값이 주어지면 어떤 작업을 하는 데 필요한 계산이나 처리 ..
1 알고리즘을 배워야하는 이유
-클라우드와 가상화등의 발전으로 컴퓨터 리소스를 제약없이 사용하는 시대에 주요 알고리즘을 몰라도 되지않을까? ->시간과 비용면에서 효율을 높일 수 있다. 알고리즘은 무엇인가? -문제나 과제를 해결하기 위한 처리 절차 -레시피 처럼 -> 과제를 해결하기 위한 절차 programing시작은 요구 설계 알고리즘이 정해진 후에는 프로그래밍해야 한다. 코딩 프로그래밍 언어를 사용하여 알고리즘을 프로그램으로 만들어 나가는 것을 말한다. team단위로 작성-사양에 맞춰 프로그래밍을 진행한다. debug 어디에 문제가 있는지 규명하여 수정 what is good algorithm ? -알기쉽다 -속도가 빠르다 -효율적이다. -재이용하기 쉽다 절차가 알고리즘이기 위한 조건 -정확한 결과를 얻을 수 있어야한다 -반드시 종..
알고리즘 기초알기
>탐색,정렬,수치계산,문자열 탐색이유명한 알고리즘이다 선형탐색법(리니어서치)-맨 앞부터 순서대로 찾는다 이진탐색법(바이너리서치)-범위를 절반씩출려가면서 찾는다 해시 탐색- 계산해서 저장 위치를 찾는다 정렬 단순 정렬법(선택소트)-최솟(댓)값을 선택하여 맨 앞부터순서대로 나열한다. 단순 교환법(버블소트)-옆에있는데이터를 교환하면서자리를 바꿔 나열한다 단순 삽입버(삽입소트)-데이터를 올바른 위치에 삽입하면서 자리를바꿔나열 퀵정렬 - 기준 데이터를 기반으로 대소분할을 반복하여 자리를 바꿔 나열 머지 정렬- 이분할과 머지(병합)을 이용하여 자리를 바꿔 나열한다 힙 정렬 - 힙이라는 데이터 구조를 이용하여 자리를 바꿔 나열한다 셀 정렬 - 그룹을 나누면서 자리를바꿔 나열한다 수치계산(수치해석) 에라토스테네스의 체..