스파르타코딩클럽[AI트랙 3기]/자료구조와 알고리즘(5)
-
[자료구조와 알고리즘] #5
3-1 오늘배울 것 스택, 큐의 개념과 활용법 해쉬의 개념과 활용법 트리, 힙의 개념과 활용법 정렬: 데이터를 순서대로 나열하는 방법 스택과 큐: 들어가고 나오는곳이 정해져있는 자료 스택은 맨위에들어가고 맨위에 나옴. 큐는 맨위에 들어가고 맨처음게 나옴. 해쉬 : 블록체인에 쓰임 3-2 정렬 –1 -정렬 : 데이터를 순서대로 나열하는 방법 -버블정렬 : 자료간 비교하면서 교환하는 방법 for I in range(N) if a array[j+1]: array[j], array[j+1] = array[j+1],..
2022.09.22 -
[자료구조와 알고리즘] #4
2-6 링크드 리스트 문제 2-7 이진탐색 이진탐색과 순차탐색 비교 1)이진탐색 0과 1할때의 이진, 업다운게임 반으로 나누기 2) 2-8 재귀함수 - 1 재귀:자기자신을 참조, 나를 계속 호출하는 것. 코드를 간결하고 명확하게 만들어줌. 재귀함수를 쓰기전에 항상 탈출조건을 신경 써줌. 2-9 재귀함수 – 2 1)팩토리얼 함수로 만들기 def fact(n): return n*fact(n-1) 근데 이렇게 하면 무한루프돌거나 에러뜸. 그래서 조건을 넣어주는데 def fact(n): if n == 1: return 1 #n이 1일 때 반환을 1로 함. return n*fact(n-1) 2)회문 탐색 축소 시키는 것을 확인 슬라이싱 이용 string[1:-1] def is_pal(string): if len(..
2022.09.20 -
[자료구조와 알고리즘] #3
2-1 오늘 배울 것 [수업목표] 1. 어레이, 링크드리스트 2. 이진탐색의 효율성과 전제조건 3. 재귀함수의 방법과 전제조건 궁금증 알고리즘, 자료주고 배우는 이유 : 경우에따라 다양한 자료구조와 알고리즘을 사용해야함. 어레이 :순차적으로 저장 링크드리스트 :다음 노드로 연결하는 하는 것 이진탐색: 반을 쪼개서 탐색 순차탐색: 하나씩 탐색 2-2 어레이와 링크드리스트 문제풀기전 기본적인 알고리즘과 자료구조 설명 어레이 사례 rooms = [1,2,3,4,5,6,7,8,9] 조회는 어레이가 좋고, 삽입삭제는 링크드 인이 좋음. 2-3 클래스 클래스란? 분류, 집합과 같은 속성과 기능을 가진 객체를 총칭하는 개념 객체는? 세상에 존재하는 유일무이한 사물 클래스가 사람이면 객체는 유재석 또는 박명수 클래스가..
2022.09.20 -
[자료구조와 알고리즘] #2
1-1 오늘 배울 것 알고리즘 왜배우나? 알고리즘 푸는데 통로가 되도록 하고 싶음. 1.알고리즘 공부 필요 이유 2.알고리즘 학습을 위한 기본 코드 구현력 3.시간복잡도, 공간복잡도 배우기 -알고리즘이란? 문제를 해결하기위한 방법들의 집합 -공부하는 이유 좋은 개발자가 되기 위해. (적은 공간으로 ᄈᆞ른 속도로 수행되는 프로그램 만들기) 프로그램을 잘 만들기 위해서 여러 자료구조와 방법을 배우고 익혀야함. 1-6 시간 복잡도 판단하기 6)시간 복잡도란? 입력값과 문제를 해결하는데 걸리는 시간과의 상관관계. 입력값이 늘어나도 걸리는 시간이 덜늘어나는 알고리즘이 좋은 알고리즘 7)최대값 찾기 알고리즘 시간 복잡도 판단하기 ㅇ첫 번째 방법 시간 복잡도 input = [3,5,6,1,2,4] def find_m..
2022.09.20 -
[자료구조와 알고리즘] #1
*0주차~1-3주차 세팅 *1-4 알고리즘과 친해지기(1) -배열에서 제일 큰 숫자를 찾아내기. 로직을 써주는 것이 알고리즘. -파이썬 파일만들기 – 코드스니펫 복붙 – 실행 1)배열에서 숫자 하나씩 꺼내서 비교하기(이중 반복문) for num in array: for compare_num in array: if nummax_num: max_num =num #만약 num이 max_num보다 크면 max_num을 num으로 바꿔준다. return max_num #마지막의 max_num을 출력함. 1-5 알고리즘과 친해지기(2) -알파벳 빈도수 찾기 팁: 문자인지 확인하기 – 파이썬 내장함수 str.isalpha() def find_alphabet_occurrence_array(string): alphabe..
2022.09.20