코딩각

C언어 | 선택 정렬 (selection sort) | 파이썬 선택정렬

선택정렬은 직관적으로 이해하기 쉬운 정렬 방식이다. 예를 들어 여기 숫자 카드가 5장 있다. [2, 1, 5, 3, 4] 오름차순으로 어떻게 정렬하는가? 누구나 알 수 있다. [2, 1, 5, 3, 4] 카드에서 작은 숫자 순으로 뽑아서 오른쪽에 놓는다. 두번째, 첫번째, 네번째, 다섯번째, 세번째 순으로 뽑아서 나열한다. [1, 2, 3, 4, 5] 가 될 것은 의심의 여지가 없다. 뽑은 카드의 순서를 표시하면 CARD[2] CARD[1] CARD[4] CARD[5] CARD[3] 이 나온다. 이제 컴퓨터에서 어떤 코드를 구현하는가만 남아있다. 사람에겐 달리 생각이 필요없는 일도 컴퓨터에게 있어서는 구체적인 명령어와 지시가 필요하다. 온라인의 올라와있는 기본 자료들은 서로 약간의 차이가 있는데 다들 비..

알고리즘(Algorithm)/C언어 알고리즘 2020. 11. 22. 11:37

C언어 | 이진트리와 자료구조에 대한 잡설

*이 포스팅에서는 이진 트리를 만들어볼 예정이었으나 잡설이 길어져서 포스팅을 분리한다. *이진검색트리 (Binary Search Tree)의 조건 - 이진 트리는 루트를 중심으로 노드가 왼쪽에 하나 오른쪽에 하나씩 연결된다. - 노드 N(어느 한 노드)을 기준으로 왼쪽 트리의 키값은 노드 N보다 작아야 하고, 오른쪽 트리의 키 값은 노드 N보다 커야 한다. - 같은 키값을 갖는 노드는 없다. 이진 검색이라는 것도 있는데 이진 트리와 이진 검색은 차이가 있다. 이진 트리가 아니더라도 정렬을 하면 이진 검색이 가능하다. 반면 이진 트리는 값의 추가시 함께 자동으로 정렬된다. 이진 트리는 좀 복잡하다. 하위 노드에 접근하기 위해서 링크 연결과 재귀함수(resursive function)을 사용하는데 포인터 연..

알고리즘(Algorithm)/C언어 알고리즘 2020. 11. 21. 14:05

비주얼 스튜디오 2019 C/C++ 디버그 (어셈블 코드 읽기), 추상화 등에 관한 글

C계열 언어들(C++ , C# 닷넷)들도 MS 비주얼 스튜디오가 아닌 다른 IDE에서 개발하는 것도 가능하다. 비주얼 스튜디오 툴이 기능이 많아서 좀 복잡할 때도 있고 가끔은 MinGW 를 쓰기도 한다. 리눅스나 맥 사용자들은 IDE선택에 옵션이 많다. 사실 이제 비주얼 스튜디오의 시대는 좀 저물어 가는 느낌도 든다. 오픈 소스 시대에 들어오면서 다양한 옵션들이 많아지고 오픈소스에 맞들린 프로그래머들에서 안티까 꽤 있다. MS 독점 시대의 C개발은 윈도우즈와 비주얼 스튜디오를 거쳐가야 했지만 이제는 그럴 필요가 없다. 구글은 intellij 를 쓴다는 말이 있는데 워낙 큰 회사고 다양한 소프트웨어를 개발하는 회사라서 꼭 한가지의 IDE만 쓸거라고 생각되지는 않는다. 아래 문서를 보면 이런 문서를 구글에서..

코딩(CODING)/C++ 2020. 9. 11. 05:58

C언어와 파이썬의 관점의 차이, 효용 가치를 생각하며

원래 코딩 분석 내용을 쓰다가 잡설이 길어져서 하나의 글로 분리합니다. C계열 언어를 배워서 별로 할 수 있는게 없다고 한다. 언어가 노잼이라는 말과 비슷할 수 있다. 많은 경우 C언어의 학습 과정 중 다음 단계에 진입하지 못할 때 취하는 반응이다. 혹은 컴퓨터 구조원리에 대하여 흥미를 못 느끼기 때문일 수도 있다. 어떤 주제에 대해 흥미를 못 느낀다 -> 무신경하다. 무감각하다와 관련된다. 사실 C와 C++는 어렵기로 악명이 높다. C는 어렵고 C++은 그 다음 단계에 가 있다. stackoverflow를 보면 C가 어렵다는 것은 우리 나라 사람들뿐 아니라 영어를 사용하는 나라의 입문자들이 다 겪는 과정이다. 그러니까 대중적 현상이라고 본다. 고등학교 때 C언어를 가르치는 학교는 아마 거...의 없을 ..

IT일반 2020. 9. 8. 18:28

C언어 7 - 2 | 링크드 리스트 기초 (Linked List)

링크드 리스트는 자료구조의 한 형태로 알고리즘에서 다루어야 할 주제이지만 대부분의 C교재는 기본적인 사항을 다룬다. 이것도 좋은 자료를 많이 확보해야 하는데 영문 자료에 좋은 자료가 많다. 시간이 되면 알고리즘에 관한 자료들을 더 수집해야 겠다. 링크드 리스트는 연결 리스트라고 한다. 배열과 비교가 되곤 하는데 체인처럼 데이터간의 연결이 되어 있다. 하나의 데이터는 데이터와 다음연결방향의 위치(메모리 주소)값을 가지고 있다. C언어에서는 구조체 타입으로 정의한다. 구조체는 클래스의 전신 정도로 볼 수 있다. 어찌보면 사용법이 비슷한 부분이 있다. 구조체에 객체 지향 개념을 입혀서 클래스 개념을 만들어도 될 것 같이 설계해놨다. 구조체는 다른 종류의 데이터를 묶는 것이다. typedef 키워드와 같이 사용..

코딩(CODING)/C언어(C Language) 2020. 9. 2. 13:42
◀ 1 2 ▶

블로그정보

  • 블로그 이미지
  • ⟪코딩갘 - 100°⟫

    코딩 (파이썬, C언어, 자바) 및 IT정보 블로그

반응형

카테고리

  • 분류 전체보기 (1177) N
    • IT뉴스 (93)
    • IT일반 (191) N
    • IT출판 (119) N
      • 워드프레스 | 티스토리 (95) N
      • 유튜브 (Youtube) (17)
    • 블록체인 - Blockchain (30)
    • 암호화폐 투자 (171)
    • 운영체제 메뉴얼과 팁 (30)
      • 윈도우11 (9)
      • 리눅스 일반 (21)
    • 코딩(CODING) (378)
      • 자바(JAVA) (82)
      • 파이썬(PYTHON) (91)
      • C# .NET Core (42)
      • 러스트(Rust) (3)
      • C언어(C Language) (41)
      • C++ (41)
      • 자바스크립트(JS) (20)
      • HTML | CSS (35)
      • 루아(Lua) (15)
      • 어셈블리어 MASM (6)
      • PHP (2)
    • 컴퓨터구조 (9)
      • 운영체제 | OS (6)
      • 컴퓨터 하드웨어 (3)
    • FRAMEWORK (58)
      • 자바 | JavaFX (17)
      • 파이썬 | PYGAME (18)
      • 파이썬 | PyQt5 (16)
      • 파이썬 | kivy (5)
      • GDScript(GODOT) (2)
    • 모바일 게임 (8)
    • 알고리즘(Algorithm) (13)
      • C언어 알고리즘 (13)
    • IT 수학 (25)
      • 대수 기초 (9)
      • 지오지브라 계산기 (1)
      • 이산수학 | Discrete Mathematics (2)
      • 수학기초 (13)
    • IT 서적 리뷰 (20)
    • 로블록스(Roblox) (2)
    • 일본어 (8)
    • 영화 (1)
    • IT상품평 (9)
    • 과학일반 (1)
    • 컴퓨터보안 (1)

방문자 카운터

  • 어제 : 3,958
  • 오늘 : 485
  • 누적 : 1,662,682

방문자 그래프

공지사항

  • 비트코인 선물 초보 가이드 모음
  • 하스켈 입문 튜토리얼 모음 - 진행중
  • 코딩 전문 블로그 워드프레스 개설

Copyright © ⟪코딩갘 - 100°⟫. All Right Reserved.

  • 글쓰기
  • 관리자
  • 카테고리
  • 맨위로

티스토리툴바