이진탐색법(Binary Search)이진탐색을 배우기 전에 선형탐색(Linear Search)먼저 보겠습니다. \*\* 선형탐색이나, 이진탐색의 요소는 오름차순이나 내림차순으로 되어 있어야 적용할 수 있는 알고리즘입니다. 위의 배열에서 요소가 8인것을 찾으려면 어떻게
자료구조란 ?? 데이터에 편리하게 접근하고 , 변경하기 위해서 데이터를 저장하거나 조직하는 방법을 말한다. 모든 목적에 맞는 자료구조는 존재하지 않는다 . 따라서 자료구조가 갖는 장점과 한계를 아는것이 중요하다 . 자료구조는 언어별로 지원하는 양상이 다르다 . 따
정렬 알고리즘은 순서가 없던 데이터를 순서대로 바꾸어 나열하는 알고리즘입니다. 선택정렬버블정렬삽입정렬퀵정렬선택정렬은 정렬되지 않은 데이터 중 가장 작은 데이터를 선택해서 맨 앞에서부터 순서대로 정렬해 나가는알고리즘입니다.그런데.. 드는생각이 python 같은경우 그냥
버블정렬.버블 정렬은 인접한 데이터를 교환해서 정렬하는 알고리즘입니다.인접한 두 수를 비교하여 더 큰 것을 우측으로 계속 이동시키면 됩니다.idex 0 <-> 1 부터 교환하기 시작합니다.6 5 3 2 8\-> 5 6 3 2 8그 다음은 index 1 <->
자바를 하고 계시던 분이라면 Linked List 를 처럼 들었을땐 , 그냥 흔하게 자주 쓰는거라 .. 잘 대답하시고 이해하시겠지만 ,전 무식한지라..그거 ArrayList , Linked 중에 Linked 말하는거 아니야 ??라고 대답할것 같다 ㅋㅋLinked lis
Stack과 Queue는 비슷한 구조인데 자료를 읽어들이는 순서가 틀립니다.Stack은 LIFO(Last In First Out) 이라고 합니다. 마지막으로 저장한 데이터가 처음으로 읽힌다는 뜻입니다.마치 설겆이 한 접시를 하나 하나 쌓아올리는걸 생각하시면 쉽습니다.s
tree 자료구조는 그래프의 한 종류로 정의 를 내리자면 , 트리란 어떤 노드들의 집합으로 노드들은 각 서로 다른 자식을 가지며 이 때 각 노드는 재 사용 되지 않는 구조이다.이진 트리는 한 노드가 자식 노드를 두 개 이하만 갖는 트리입니다.이진 트리의 노드도 데이터부
해시 테이블은 키와 밸류를 기반으로 데이터를 저장한다.python 에서는 딕셔너리가 key-value 형태의 값을 저장할 수 있는 자료구조이다.set 과 마찬가지로 특정 순서대로 데이터를 리턴하지 않는다.key 의 값은 중복 될 수 없다. 만일 중복된 key 가 있으면
다이나믹 프로그래밍이란 ?큰 문제를 작은 문제로 나누어 푸는 방법은 두가지 이다. 분할정복 : 중복이 허용되지 않는다.다이나믹 프로그램 : 큰 문제가 작은 문제로 나누어 졌을 때 작은 문제들의 중복이 허용이 된다.모든 작은 문제들은 한번만 풀어야 합니다.따라서 정답을
https://gmlwjd9405.github.io/2018/05/10/algorithm-quick-sort.html 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸면 어떨까 ?? 큰 숫자와 작은 숫자를 교환할 때 , 교환하기 위한
어떤 선택을 할 때 그 순간만을 고려해서 가장 좋은 경우를 고르는 방법이다.여러 경우 중 하나를 결정해야 할 때마다 그순간이 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달하여 해결한다.각 선택의 시점에서 이루어지는 결정은 지역적으로는 최
https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98\_%EC%B2%B4소수를 판별하는 알고리즘이다.소수들을 대량으로 빠르고 정확
주어진 데이터 중 M 개를 뽑아 가능한 모든 조합 리턴이렇게 동작한다.만약에 두번째 파라미터에 3 을 넣게되면 , 이렇게 출력이 된다.이게 리스트에서는 어떻게 될까 ??똑같이 출력이 되는데 , 이게 보니깐 .주어진 데이터 중 M 개를 뽑아 가능한 모든 순열 리턴주어진
https://programmers.co.kr/learn/courses/30/lessons/67256