IT공부/자료구조&알고리즘 연습(51)
-
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 9회차 미션
3. 간단한 해쉬의 예 3.1 hash table 만들기 hash_table = list ( [ i for i in range(10)]) hash_table 3.2 이번엔 초간단 해쉬함수 만들기 다양한 해쉬 함수 고안 기법이 있다 가장 간단한 방식이 Division 법 def hash_func(key): return key%5 3.3 해쉬 테이블에 저장 데이터에 따라 필요시 key 생성 방법 정의 필요 data1 = ‘Andy’ data2 = ‘Dave’ data3 = ‘Trump’ data4 = ‘Anthor’ ## ord( ) : 문자의 ASCII 코드 리턴 print( ord ( data1[ 0 ] ), ord ( data2[ 0 ] ) , ord ( data3[ 0 ] )) print( ord (..
2020.10.27 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 8회차 미션
3. 대문자 O 표기법 빅 오표기법 또는 Big-O 표기법이라고도 부름 O (입력) ->입력 n에 따라 결정되는 시간 복잡도 함수 O(1) ,O(logn), O(n), O(nlogn), O(n2 ) O(2n ) O(n!) 으로 표기 ->입력 n의 크기에 따라 기하급수적으로 시간 복잡도가 늘어날 수 있다 O(1) 10: print(n) - n에 따라 n번 , n+10번 또는 3n +10 번등 실행 :..
2020.10.26 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 7회차 미션
7. 다양한 링크드 리스트 구조 -> 더블 링크드 리스트 구조 : 노드의 구조가 기존의 링크드 리스트와 다르다 이전데이터 주소 + 노드 + 다음데이터 주소 -> 항상 앞에서부터 검색을 해야하는 링크드 리스트의 단점을 보완하기 위한 것 class Node: def __init__(self, data, prev=None, next=None): self.prev = prev self.data = data self.next = next -> 더블 링크드 리스트 선언 class NodeMgmt: def __init__(self, data): self.head = Node(data) //최초의 노드가 헤드가 된다 self.tail = self.head //헤드나 꼬리부분은 똑같다 def insert(self, da..
2020.10.25 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 6 회차 미션
링크드 리스트 장단점 장점 --> 미리 데이터 공간을 할당하지 않아도 됨 단점 --> 배열은 두개의 데이터를 저장할 공간만 가지면 되는데 링크드 리스트는 각 데이터마다 다음 노드를 가리킬 주소 (포인터)를 별도로 가지고 있어야 한다 – 저장공간 효율 높지 않아 --> 배열은 인덱스 번호가 있어 바로 인덱스 번호로 값을 찾을 수 있으나 링크드 리스트는 연결 정보를 찾는 시간이 필요해 접근 속도가 느려 --> 중간 데이터를 삭제하거나 연결된 데이터 중간에 추가적으로 노드를 추가할 경우 주소를 변경해야 하는 재구성 작업 필요 링크드 리스트와 복잡한 기능1 =>링크드 리스트 데이터 사이에 데이터 추가 node = head while node.next: print(node.data) node = node.next..
2020.10.24 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 5 회차 미션
10. 스택 -> 데이터를 제한적으로 접근할 수 있는 구조 = 한쪽 끝에서만 자료를 넣어거나 뺄 수 있는 구조 -> 가장 나중에 쌓은 데이터를 가장 먼저 뺄 수 있는 데이터 구조 = 큐 : FIFO 정책 = 스택은 LIFO 정책 A. 스택구조 -> 스택은 LIFO 또는 FILO 데이터 관리 방식을 따른다 LIFO = Last In, First Out = 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 FILO = First In, Last Out = 처음에 넣은 데이터를 가장 마지막에 추출하는 데이터 관리 -> 대표적인 스텍 활용 컴퓨터 내부의 프로세스 구조의 함수 동작 방식 -> 주요 기능 push( ) : 데이터를 스택에 넣기 pop( ) : 데이터를 스택에서 꺼내기 B. 스택 구조와 프로세스..
2020.10.23 -
[패스트캠퍼스 수강 후기] {코딩테스트인강} 100% 환급 챌린지 4 회차 미션
오늘은 큐에 대해서 강의를 들었습니다. 08 큐(1) --> queue는 운영체제에서도 많이 쓰이고 인터넷에서 네트워크 기능에서 많이 사용됨 A. 큐의 구조 --> 라이브러리 이용하지 않고 큐를 직접 데이터 타입이나 리스트를 사용해서 구현하는 것이 좋다 -->가장 먼저 넣은 데이터를 가장 먼저 뺄 수 있다 = 음식점에서 줄을 선 사람이 가장 먼저 음식을 먹을 수 있다 = 줄을 서는 것과 유사 = FIFO ( First In First Out) + LILO ( Last In Last Out) = 스택과 정반대로 기능 B.알아둘것 --> 데이터 넣고 빼기 ---데이터 넣기 ENQUEUE 데이터 빼기 DEQUEUE C. 파이썬의 큐 활용 -->파이썬 QUEUE 라이브러리 활용해서 큐 자료구조 사용하기 --> ..
2020.10.22