조건식으로 평가한 결과에 따라 프로그램 실행 흐름이 변경되는 것을 선택구조(select structure)라고 함조건식에 따라 알고리즘 흐름이 두 갈래로 나뉘는 것을 양 갈래 선택이라고 함.def med3(a, b, c): if a>= b: if b
논리적인 관계로 이루어진 데이터 구성데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계리스트와 튜플로 구현 가능데이터 컨테니어라고 함원소를 변경할 수 있는 뮤터블한 객체원소 변경이 불가능한 이뮤터블 자료형from typing import Any, Sequenc
선형 검색무작위로 늘어놓은 데이터 집합에서 검색을 수행이진 검색일정한 규칙으로 늘어놓은 데이터 집합에서 아주 빠른 검색을 수행해시법추가/삭제가 자주 일어나는 데이터 집합에서 아주 빠른 검색을 수행 \- 체인법 : 같은 해시값 데이터를 연결 리스트로 연결 \- 오픈
데이터를 임시 저장할 때 사용하는 자료구조로, 후입선출(LIFO)방식임.푸시 : 스택에 데이터를 넣는 작업팝 : 스택에서 데이터를 꺼내는 작업스택 배열:stk데이터를 저장하는 스택 본체(list형 배열)스택 크기:capacity스택의 최대 크기스택 포인터:ptr스택에
어떤 이벤트에서 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의되는 경우를 재귀라고 함자연수의 정의1은 자연수임.어떤 자연수의 바로 다음 수도 자연수임무한히 존재하는 자연수를 재귀적 정의를 사용해 위 두 문장으로 정의한 것.자기 자신을 직접 호출하는 것 : 직접
항목값의 대소 관계에 따라 데이터 집합을 일정한 순서로 바꾸어 늘어놓는 작업정렬 알고리즘의 핵심은 교환/선택/삽입정렬 알고리즘은 안정적인(stable) 알고리즘과 그렇지 않은 알고리즘으로 나타낼 수 있음정렬한 후에도 값이 같은 원소의 순서가 유지되는 것정렬 후 원래의
문자열 검색 알고리즘 중에서 가장 기초적이고 단순한 방법선형 검색을 단순하게 확장한 알고리즘으로 단순법이라고도 함이미 검사한 위치를 기억하지 못하므로 브루트 포스법은 효율이 좋지 않음어떤 문자열 안에 다른 문자열이 포함되어 있는지 검사하고, 만약 포함돼 있으면 어디에
연결 리스트에서는 각각의 원소를 노드라고 함.여러 개의 노드들이 순차적으로 연결도니 형태를 자료구조를 연결 리스트라고 함노드는 데이터와 뒤쪽 노드를 가리키는 포인터를 갖고 있음데이터를 삽입/삭제함에 따라 다른 데이터의 위치를 모두 옮겨야 하므로 효율적이지 않음
데이터 사이의 계층 관계를 표현루트가장 위쪽에 있는 노드리프가장 아래쪽에 있는 노드(단말 노드), 물리적으로 가장 밑이 아닌, 더 이상 뻗어나갈 수 없는 마지막 노드비단말 노드리프를 제외한 노드자식어떤 노드와 가지가 연결됐을 때 아래쪽 노드부모어떤 노드와 가지가 연결됐
이진 탐색 트리(BST)의 한 종류스스로 균형을 잡는 트리BST의 worst case의 단점을 개선모든 모드는 red 혹은 black루트 노드는 black모든 nil(leaf) 노드는 blacknil노드란? 1\. 존재하지 않음을 의미하는 노드 2\. 자녀가 없을
그래프에서 사용하는 알고리즘의 종류
그래프를 표현하는 3가지 방식(에지 리스트, 인접 행렬, 인접 리스트)에 대해서 알아보자