프로그래밍에 대해서 질문이 있습니다
프로그래밍에 대해서 1도 모르는 고등학생인데 이제 배우려고 하거든요
알고리즘 자료구조라는게 있던데 그게 정확히 무슨뜻이고
그것들을 이해하려면 일단 파이썬 같은 프로그래밍 언어를
먼저 배워보고 공부하는게 이해하기 쉬울까요?
안녕하세요..
알고리즘의 사전적 의미를 보면 다음과 같이 나와있습니다.
어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다.
쉽게 말하면 수학문제를 푸는 경우 해결할 수 있는 풀이과정이 사람마다 다 다를 수 있습니다. 문제에서 결과에 이르기 까지의 과정을 알고리즘이라고 보시면 될것 같습니다.
프로그래밍에서도 그런 여러가지 알고리즘을 알고 있어야 언어를 배울때 더 쉽게 접근을 할 수 가 있습니다.
모든 언어가 알고리즘이나 로직은 다 똑같습니다. 그 로직을 구현하는 문법이 조금씩 다를 뿐이죠. 그 언어를 배우는 것도 좋지만 그 안에 로직이나 알고리즘을 구현하는 연습을 많이 하시면 다른 언어를 배울 때도 큰 도움이 됩니다.
알고리즘은 프로그램이 어떤 문제를 해결하기 위한 방법을 의미합니다.
자료구조는 프로그램에서 숫자와 문자열과 같이 여러가지 데이터를 다루기 위해 정해놓은 데이터 형태입니다.
파이썬은 프로그래밍 언어중에서 가장 배우기 쉽기 때문에 인터넷 강의나 책을 보면서 이론적인 개념들을 이해하고 그 개념들을 이용해 직접 코딩 실습해보시면 됩니다.
스크래치에서 문제를 못풀고 헤메신다면? 실전 프로그램에선 더 헤멜수 있습니다
그러니 스크래치를 통해 본인의 적성을 꼭 확인해보시기 바랍니다
------------------
우선 코딩과 알고리즘의 맛을 아래 링크에서 접해보시기 바랍니다!
https://scratch.mit.edu/ 여기를 추천드리구요
https://scratch.mit.edu/explore/projects/all <== 여기는 다른사람들이 스크래치로 만든 게임등을
플레이할 수 있는곳이데요
나름 재미있을거라 생각합니다 ( 본인이 직접 만들수도 있음 )
경우에 따라 이 사이트가 너무 시시해 보일수도 있습니다
근데 여기서 얻은 알고리즘은 타언어 배울때도 당연히 적용이 됩니다
열심히 해보세요
그리고 열심히 하다가 스크래치에서의 코딩이 자신의 적성과 잘 맞다고 생각되면
그때 프로그램 개발을 어떤 목적으로 할것이냐에
따라서 배워야 할 언어가 틀려지기때문에,
스크래치에서 경험을 쌓은후 다시 재 질문해주시기 바랍니다!
프로그래밍을 첫 시작하기 위해서 프로그래밍 언어를 먼저 접하고 배우시는 것을 시작으로 하시면 될 것 같습니다.
알씀하신 알고리즘이나 자료구조는 먼저 프로그래밍 언어를 배우고 나서 어느정도 다룰 줄 알게 되면 알고리즘 및 자료구조와 관련된 책의 예제를 직접 프로그래밍하면서 공부하시면 될 것으로 보입니다.
알고리즘이나 자료구조를 배우기 위해서는 프로그래밍 언어를 먼저 배우고 공부하는게 좋습니다.
자료구조는 프로그래밍에서 데이터에 대한 접근 및 수정을 효율적으로 할 수 있는 방법에 대해서 배우게 됩니다.
대표적으로 많이 사용하는 자료구조는 스텍, 큐, 트리 등이 있습니다.
알고리즘은 어떠한 문제를 해결하기 위한 방법이나 절차를 배우게 됩니다.
문제는 해결할 수 있으나 시간이 너무 오래걸리면 사용하기 어렵기 때문에 어떻게하면 좀더 빠른 방법으로 문제를 해결할 수 있는지에 대한 내용들을 다루게 됩니다.
자료구조, 알고리즘 모두 이론을 프로그래밍 언어로 구현을 해보기 때문에 프로그래밍을 모르고서는 코드가 이해가 안될 것입니다.