코딩테스트/알고리즘 공부

코딩테스트/알고리즘 공부

- 3일차 배열 (성질, 기능)

해당 포스터는 파킹독님의 유튜브를 보고 작성되는 점 참고해주세요. https://www.youtube.com/watch?v=mBeyFsHqzHg 배열이란? 배열 : 메모리 상에 원솔르 연속하게 배치한 자료구조 (이 점 때문에 본인의 vector 구현이 realloc해서 인덱스 접근이 가능한 점!) 배열의 성질 메모리 상에서 연속하기에 O(1)로 k번째 원소를 확인 / 변경 가능하다. 추가적으로 소모되는 메모리의 양(=overhead)가 거의 없다 (운영체제에서 나오는 것, 참조의 지역성때문, cache hit rate가 높음) 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸린다. 배열의 기능 임의의 위치에 원소를 추가, O(n) 임의의 위치에 원소를 삭제, O(n) 사실 C를 사용하는 것이 아니..

코딩테스트/알고리즘 공부

- 2일차 기초 코드 작성 요령 (함수 인자,코드 작성 팁)

해당 포스터는 파킹독님의 유튜브를 보고 작성되는 점 참고해주세요. https://www.youtube.com/watch?v=6lhVHP8bkPA 함수 인자 다음 두 코드를 보고 차이점을 한 번 생각해보자. void func(int a){ a++; } main(){ int a=1; func(a); printf("%d",a); } void func(int a[]){ a[0]++; } main(){ int a[3]={1,2,3}; func(a); printf("%d",a[0]); } 이 둘의 코드를 보고 차이점을 명확하게 설명할 수 있는가? Yes라고 대답했다면 당신은 평소에 c언어에 대해 잘 이해하고 있다고 할 수 있다. 이 둘의 코드의 차이점은 함수의 매개변수가 call by value의 형태로 넘어가는지..

코딩테스트/알고리즘 공부

- 1일차 기초 코드 작성 요령 (시.공간복잡도,실수)

해당 포스터는 파킹독님의 유튜브를 보고 작성되는 점 참고해주세요. https://www.youtube.com/watch?v=9MMKsrvRiw4 시간복잡도 컴퓨터는 1초에 대략 3~5억 개 정도의 연산이 가능하다.(횟수차이존재) 단순한 연산(and, or, +, -) 복잡한 연산(*, /, function call, =) 그럼 아래의 소스코드를 한 번 해석해보자. (스스로 한 번 진행해보자) int func1(int arr, int n){ int cnt=0; for(int i=0;i최대 2초 정도 시간 소요 if n==10억 => 최대 20초 정도 시간 소요 하지만 매번 이런 식으로 연산의 모든 횟수를 따져보면서 시간복잡도를 계산하면 매우 힘들 것이다. 그렇기에 우리는 Big - O 표기법을 이용하여 코..

코딩테스트/알고리즘 공부

다시 시작하는 이세계 생활

요즘 들어 공부를 너무 안 했는데 종강했기에 재활치료 겸 다시금 알고리즘을 처음부터 공부하기로 했다. 해당하는 알고리즘의 방향은https://www.youtube.com/@BaaaaaaaaaaaaaaaaaaaaarkingDog/featured BaaarkingDogwww.youtube.com 여기 있는 바킹독 선생님의 알고리즘 공부 순서대로 시작할 생각이다. 진행하는 언어는 무조건 초심자들이 제일 먼저 시작하는 c언어로 진행하려고 한다. 중간 중간 c++에서는 stl을 통해 쉽게 구현할 수 있는 것들을 본인은 하나하나 다시 공부해가며 직접 구현하여 사용할 생각이다. 직접 구현한 코드들은 github나 블로그에 올려놓을 것이며 코드를 보면서 아쉽거나 고쳤으면 하는 부분들은 댓글로 계속해서 적극 피드백 받습..

견우직녀달
'코딩테스트/알고리즘 공부' 카테고리의 글 목록