Processing math: 100%
[알고리즘] C++로 이해하는 검색 알고리즘,,
·
공부/알고리즘
참고 : Do it! 자료구조와 함께 배우는 알고리즘 입문 ☑️ C++로 이해하는 검색 알고리즘검색 알고리즘은 데이터 집합에서 특정 항목이나 값을 찾기 위해 사용하는 알고리즘이다. 모든 프로그래밍 분야에서 기본적이고 필수적인 알고리즘으로, C++에서는 find 함수를 통해서 검색 알고리즘을 제공하고 있다.  검색 알고리즘은 다양한 방법이 있는데 데이터 집합의 성격에 따라서 알고리즘을 선택하는 것이 중요하다. 1️⃣ 선형 검색 LinearSearch가장 기본적인 알고리즘은 선형 검색이다. 선형 검색은 배열이나 리스트의 처음부터 끝까지 순차적으로 데이터를 검사하여 원하는 값을 찾는다. 구현이 간단하고 정렬되지 않은 데이터에서도 사용 가능하므로, 많은 분야에서 사용된다. 다만, 큰 데이터 집..
[알고리즘] C++로 이해하는 DFS와 BFS
·
공부/알고리즘
참고 : Introduction to Algorithms☑️ C++로 이해하는 DFS와 BFSDFS/BFS는 그래프Graph를 탐색하는 알고리즘을 의미한다. 그래프는 정점Vertex과 간선Edge을 통해 표현하는 자료구조를 말한다. 1️⃣ DFS DepthFirstSearch깊이 우선 탐색DepthFirstSearch은 그래프를 탐색할 때, 깊이를 우선시하는 탐색 방법을 의미한다. 그래프를 탐색할 때, 정점 1을 시작으로 하위 정점들을 탐색해나간다. 탐색 우선 순위는 정점과 연결된 정점들을 탐색하고 연결된 정점이 없을 때, 이전으로 이동하여 남은 정점을 확인하고 탐색한다. 이러한 방법을 반복적으로 수행하며 최종적으로 모든 그래프의 정점을 탐색하게 된다. 위 사진에서 DFS를 통해..
[CS] 시스템 콜SystemCall
·
공부/CS
☑️ 시스템 콜SystemCall이 무엇인가?운영체제는 커널 모드와 사용자 모드로 나뉜다. 커널 모드는 운영체제의 모든 권한을 가지고 있는 모드이며, 사용자 모드는 제한된 권한을 가진다. 우리가 프로그래밍을 통해서 생성하는 응용 프로그램은 사용자 모드로 실행된다. 그렇기 때문에 제한된 권한을 가지게 된다. ☑️ 왜 모드가 나뉠까?모드 구분을 하는 핵심 적인 이유는 하드웨어의 보호를 위해서다. 커널 모드와 사용자 모드 구분 없이, 동일한 환경에서 운영체제와 응용 프로그램이 실행된다면 악의를 가진 프로그램이 있을 때, 운영체제는 보안에 취약해진다. 동일한 환경에서 실행되었기 때문에 악의적인 프로그램은 운영체제에 간섭할 수 있게 된다. 또, 어떤 프로그래머의 실수로 인해서 시스템에 크리티컬 한 이슈를 생..
[알고리즘] 위상정렬TopologySort
·
공부/알고리즘
참고 자료GeeksForGeeks : https://www.geeksforgeeks.org/topological-sorting/?ref=header_outindyoungeui_hong.log : https://velog.io/@youngeui_hong/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%9C%84%EC%83%81%EC%A0%95%EB%A0%AC-%EB%AC%B8%EC%A0%9C-%EC%B4%9D-%EC%A0%95%EB%A6%ACClaude AI 🖐️[알고리즘] 위상정렬TopologySort위상정렬은 순환성이 없는 방향 그래프DAG에서 사용 가능한 알고리즘이며, 결과 값으로 그래프의 노드들을 선형적으로 나타낸다. 이때 결과 값은 항상 일정하..
[자료구조] 동적 메모리 할당
·
공부/자료구조
☑️ 동적 메모리 할당동적 메모리 할당은 C언어에만 한정된 개념이 아니라, 다양한 프로그래밍 언어에서도 사용되고 있는 개념이다. 동적 메모리 할당의 내용과 사용 방법 자체는 어렵지 않다. 이 개념은 프로그램이 실행 중에 있을 때, 필요한 시점에서 메모리를 할당 받고 필요하지 않은 시점에서 할당 받은 메모리를 반환하는 것을 의미한다. 반대되는 개념으로는 정적 메모리 할당이 있다. 🟧 동적 메모리 할당의 장점프로그램이 실행되는 동안에 원하는 크기의 메모리를 할당 받을 수 있어 유연성이 높아진다. 사용자의 입력에 따라 메모리 크기를 가지는 가변 크기의 자료구조를 구현할 수 있다. 🟧 동적 메모리 할당의 단점만약, 메모리를 할당하고 할당 해제하는 것을 까먹는다면 메모리 누수가 생긴다. 🟧 가비지 ..
[알고리즘] LCSLongestCommonSubsequence
·
공부/알고리즘
참고 자료Introduction to Algorihms CLRSGeeksForGeeks : https://www.geeksforgeeks.org/longest-common-subsequence-dp-4/SNU OPEN COURSEWARE : https://ocw.snu.ac.kr/sites/default/files/NOTE/Week 6_2.pdfCarnegie Mellon Univ : https://www.cs.cmu.edu/~15451-s15/LectureNotes/lecture04.pdfClaude AI 🖐️[알고리즘] LCSLongestCommonSubsequence LCS는 공통 부분 수열 중에서 길이가 가장 긴 공통 부분 수열, 즉 최장 공통 부분 수열을 의미한다...