본문 바로가기

프로그램/알고리즘25

버블 정렬(Bubble Sort) 정렬 알고리즘의 하나.n 항목으로 이루어진 정렬 대상 리스트(집합)중의 항목을 수직 방향으로 배열하였다고 생각하면, 아래 끝에서부터 시작해서 인접하는 두 항목의 값을 비교하여 올바른 순서로 되어 있지 않으면 위치를 교환한다. 이렇게 인접하는 항목의 값을 비교해서 자리를 교환하는 과정을 리스트의 끝 항목까지 반복해서 제일 큰 값이 끝에 오도록 한다. 이 이름은 리스트 중에서 제일 가벼운(작은) 항목이 물속의 거품(bubble)처럼 제일 위로 상승하고, 그 다음 가벼운 것이 다음 자리로 상승하여 제일 무거운 것이 끝자리로 오기 때문에 붙었다. 출처]한국정보통신기술협회 : 버블 정렬 Python)#리스트에 있는 데이터를 오름차순 정렬합니다.def BubbleSort(list):    endIndex = len.. 2024. 10. 31.
wrtn.ai의 생성형AI 뤼튼(무료)이 알려주는 알고리즘 뤼튼은 블로그형으로 작성하였습니다.       ※ 10월 25일은 독도의 날입니다.대한민국의 아름다운 영토, 독도의 가을 2024. 10. 29.
Naver의 생성형AI CLOVA X(무료)가 알려주는 알고리즘 Prompt]알고리즘에 대하여 중학생이 이해할 수 있도록 설명 부탁해요. 그리고 알고리즘이란 단어는 포함되어야 해요.      ※ 10월 25일은 독도의 날입니다.대한민국의 아름다운 영토, 독도의 여름 2024. 10. 29.
Google의 생성형AI Gemini(무료)가 알려주는 알고리즘 Prompt]알고리즘에 대하여 중학생이 이해할 수 있도록 설명 부탁해요. 그리고 알고리즘이란 단어는 포함되어야 해요.      ※ 10월25일은 독도의 날입니다.대한민국의 아름다운 영토, 독도의 봄 2024. 10. 29.
OpenAI의 생성형AI ChatGPT(무료)가 알려주는 알고리즘 Prompt]"알고리즘에 대하여 중학생이 이해할 수 있도록 설명 부탁해요. 그리고 알고리즘이란 단어는 포함되어야 해요."라고 질문을 하였으나 실제 표현된 Prompt는 "문의하신 내용을 학생에게 알려 주시기 바랍니다. 그리고 그냥이란 단어가 있어야 합니다."로 표시되었습니다.       ※ 독도의 날은 10월 25일입니다.대한민국의 아름다운 영토, 독도 2024. 10. 29.
트리(Tree) 가지에 의해 연결된 노드로 구성된 추상적인 계층구조. ① 각 가지는 한 노드에서 종속된 다른 노드를 연결하고 ② 어떤 노드에도 종속되지 않는 유일한 노드인 루트가 있고 ③ 루트를 제외한 모든 노드는 정확히 하나의 노드에 직접 종속된다. 트리는 유한한 수의 노드(node)되며, 트리의 시작되는 노드를 루트(root)라 하며 노드와 노드 사이의 연결선을 브랜치(branch)라고 합니다. ◈ 트리에서 사용되는 용어 • 근노드(Root Node) : 트리의 뿌리가 되는 노드. 항상 존재한다. • 단노드(Terminal Node) : 노드의 차수(Degree)가 0인 노드 또는 자식이 없는 노드. • 간노드(Nonteminal Node) : 노드의 차수(Degree)가 0이 아닌 노드 또는 자식을 갖고 있는 노드.. 2024. 1. 24.
삽입 정렬(Insertion Sort) 대상 자료가 일부 정렬되어 있을 때 유리한 정렬 방식으로 선택된 키 값을 앞쪽 자료들의 키 값과 비교하여 자신의 위치를 찾아 삽입하여 정렬시킨다. 처리순서] 1. n-1회까지 반복 작업을 선언한다. 2. 키 값을 지정한다. 3. 반복 횟수의 값을 배열의 열 값으로 받는다. 4. 배열의 col-1방의 값과 key값을 비교하여 col-1방의 값이 key보다 크면 5. 배열의 col-1방의 값을 col방에 치환한다. 6. col방의 위치를 앞으로 한 칸 이동시킨다. 7. col이 0이거나 음수가 되면 현 작업을 중지한다. 8. col방에 key 값을 치환한다. 순서도] 대한민국의 아름다운 영토, 독도의 가을 2023. 4. 5.
선택 정렬(Select Sort) 전체 자료 중 작은(또는 큰) 키 값을 찾아 선택된 위치의 자료와 교환하여 정렬하는 방식. 처리순서] 1. 전체 자료 중 제일 큰수(또는 작은수)가 있는 키값의 위치를 찾는다. 2. 마지막 위치의 값과 큰수가 있는 키값의 위치를 바꾸어 준다. 3. 자료가 끝날 때까지 반복한다. 순서도] 대한민국의 아름다운 영토, 독도의 여름 2022. 3. 2.
Linked List(연결 리스트, 연결목록, 일련의 데이터 요소들을 통합하여 관리함으로써 정보의 축적과 검색 등 각종 응용 프로그램을 효율적으로 실현하기 위해 사용되는 목록 구조의 하나로, 각 데이터 요소가 포인터(pointer)에 의해 다른 데이터 요소에 연결되는 목록. 데이터 요소가 기억 장치 중 여기저기 분산되어 있지만 각 데이터 요소에는 목록 중 다른 데이터 요소의 기억 장소를 가리키는 포인터가 수용되어 있어서 그 포인터의 순서에 따라서 데이터 요소의 물리적 위치는 변경하지 않고 데이터 요소를 삽입, 삭제, 분할, 결합 및 검색할 수 있고 순서를 변경할 수 있게 하는 목록이다. 포인터가 수용되어 있는 데이터 요소를 노드라고 한다. 단방향 연결 목록(singly linked list)은 각 노드에 목록 중 직후(直後)의 노드를 가리키는 1개의.. 2022. 2. 18.
스택(stack)과 큐(queue) ▶ 스택(stack) 자료 구조의 하나로서 자료의 삽입과 삭제가 한쪽 끝에서만 일어나는 선형 목록. 밑이 막힌 통을 세워 놓은 것으로 생각하면 된다. 자료의 삽입, 삭제가 일어나는 곳을 스택의 톱(top)이라 하며 자료를 스택에 넣는 것을 푸시(push), 스택에서 자료를 꺼내는 것을 팝(pop)이라 한다. 스택에서는 나중에 들어간 자료가 먼저 꺼내지므로 후입 선출(LIFO)이라고도 한다. 스택은 주로 어떤 내용을 기억시켰다가 다시 이용하고자 할 때 사용되며, 컴퓨터 알고리듬에서 자주 쓰이는 중요한 자료 구조이다. ▶ 큐(queue) 리스트의 한쪽 끝에서만 삽입과 삭제가 일어나는 스택과는 달리 리스트의 한쪽 끝에서는 원소들이 삭제되고 반대쪽 끝에서는 원소들의 삽입만 가능하게 만든 순서화된 리스트. 가장 .. 2021. 10. 11.
데크(double ended queue, deque) 삽입과 삭제가 목록의 양쪽 끝에서 허용되는 선형 목록의 한 형태. 입력이 한쪽 끝으로만 가능하도록 제한한 데크는 스크롤이라고 하고, 출력이 한쪽 끝으로만 가능하도록 제한한 데크는 셸프(shelf)라고 한다. 출처] 한국정보통신기술협회 : 데크 대한민국의 아름다운 영토, 독도의 겨울 2021. 10. 5.
넓이 우선 탐색(Breadth First Search, BFS) 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 넓이 우선 검색을 적용한다. 그래프에서 이 검색 방법을 사용하면 ㉠→㉡→㉢→㉣→㉤→㉥→㉦→㉧순으로 방문하게 된다. 출처] 한국정보통신기술협회 : 넓이 우선 탐색 대한민국의 아름다운 영토, 독도의 가을 2021. 10. 5.
반응형