컴퓨터 기초/자료구조12 3.연결리스트 - 배열 추상 자료형(ADT)의 이해 추상자료형이란? 구체적인 기능의 완성과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열한 것 지갑을 의미하는 구조체 Wallet의 정의 int TakeoutMoney(Wallet* pw, int coinNum, int billNum); -첫번째 인자로 전달된 주소의 지갑에서 돈을 꺼낸다. -두번째 인자로 꺼낼 동전의 수, 세번째 인자로 꺼낼 지폐의 수를 전달한다. -꺼내고자 하는 돈의 총액이 반환된다. 그리고 그만큼 돈은 차감된다. void PutMoney(Wallet* pw, int CoinNum, int billNum); -첫번째 인자로 전달된 주소의 지갑에 돈을 넣는다. -두번째 인자로 넣을 동전의 수, 세번째 인자로 넣을 지폐의 수를 전달한다. -넣은 만큼 동전과 .. 2020. 9. 2. 2.재귀 재귀함수의 기본적인 이해 javascript 로 구현한 재귀함수 예제 재귀함수의 간단한 예제 팩토리얼의 이해 재귀함수를 이용한 팩토리얼 예제 피보나치 수열 함수의 이해 피보나치 수열 함수의 흐름 재귀함수를 이용한 피보나치 수열 이진 탐색 알고리즘의 재귀구현의 이해 이진 탐색 알고리즘의 재귀구현 참고: 윤성우의 열혈 자료구조 2020. 8. 31. 1.자료구조와 알고리즘의 이해 자료구조란 무엇인가? "프로그램이란 데이터를 표현하고, 그렇게 표현된 데이터를 처리하는 것이다." 데이터를 표현 : 자료구조 데이터를 처리 :알고리즘 자료구조의 분류 알고리즘을평가하는 두 가지요소 - 시간 복잡도(time complexity) -> 얼마나 빠른가? - 공간 복잡도(space complexity) -> 얼마나 메모리를 적게 쓰는가? *시간 복잡도를 더 중요시 한다. 시간복잡도의평가방법 - 중심이되는 특정연산의 횟수를 세어서평가를 한다. - 데이터의 수에 대한 연산횟수의 함수 T(n)을 구한다. 알고리즘의 수행속도 비교기준 데이터의 수가 적은경우의 수행속도는 큰 의미가없다. 데이터의 수에 따른 수행 속도의 변화정도를 기준으로한다. 최악의 경우와 최상의 경우 순차 탐색 예제 이진탐색 위키백과 .. 2020. 8. 31. 이전 1 2 다음