코딩각

C언어 | 이중 연결 리스트 (Doubly Linked List) | 자료구조

C언어 이중 연결 리스트 (Doubly Linked List) 단일 연결 리스트(singly linked list) 에서는 한쪽 방향으로 노드를 연결한다. 이중 연결 리스트는 두방향으로 노드를 연결한 다는 점이 다르다. 양방향으로 이동 가능하다는 것은 자료형태에 다양한 가공을 할 수 있다는 것을 의미한다. 이 포스팅에서는 C언어로 기본적인 이중 연결 리스트를 설계해본다. 이중 포인터를 사용하는 경우도 많이 있는데 여기서는 일반 포인터를 사용한다. 확실히 이중 연결 리스트는 하나의 노드에 prev 와 next 두 방향의 포인터가 들어있기 때문에 이중 포인터를 사용하는게 편리한 경우가 있다. 그런데 코드의 가독성은 떨어지게 되므로 사용에 주의할 필요는 있다. 이중 포인터를 사용하지 않아도 양방향으로 이동이 ..

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

C언어 | 이진 탐색 트리( Binary Search Tree) 만들기 | 추가, 삭제, 검색

이진 탐색 트리 C언어 *이진검색트리 (Binary Search Tree)의 조건 - 이진 트리는 루트를 중심으로 노드가 왼쪽에 하나 오른쪽에 하나씩 연결된다. - 노드 N(어느 한 노드)을 기준으로 왼쪽 트리의 키값은 노드 N보다 작아야 하고, 오른쪽 트리의 키 값은 노드 N보다 커야 한다. - 같은 키값을 갖는 노드는 없다. 이 포스팅에서는 C언어로 이진 탐색 트리 자료형를 만들어 본다. 이진 탐색 트리는 값을 입력시 자동으로 정렬된다. 특히 이진 탐색 트리에는 중복된 값이 입력되지 않는다. 이진 검색이라는 용어가 있는데 엄밀히 말하면 이진 검색과 이진 탐색 트리는 같은 것이 아니다. 이진 검색은 오름차순으로 정렬된 숫자의 배열에서 검색하는 알고리즘이고, 이진 탐색 트리는 위와 같은 조건을 가진 자료..

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

C언어 | 변수 포인터와 배열 포인터 사용하기 | 자료구조

*C언어의 포인터란 무엇인가? 자료 구조에서 포인터는 중요한 역할을 한다. 포인터에 대한 이해가 곧 자료 구조를 이해하는 기본 토대라고 봐도 무방하다. * 포인터는 일반 변수와 비교할 수 있다. 많은 부분 차이 나지만 대표적인 것은 아래와 같다. 변수 포인터 값을 저장한다. (int, double, char etc) 메모리의 주소를 저장한다. 스택 메모리(STACK) / 데이터 영역(전역 변수) 히프 메모리(HEAP) 프로그램에서 메모리 관리 프로그래머가 메모리 관리 정적 데이터 타입 동적 데이터 타입 * 다음의 예제는 포인터를 얻는다. '*' 는 포인터 연산자이다. 이 변수가 int 형을 가리키는 포인터 임을 선언한다. int 형이라는 것은 포인터 연산시 정수형 4바이트 단위로 이동하는 의미를 담고 있..

알고리즘(Algorithm)/C언어 알고리즘 2020. 11. 20. 13:08

C언어 자료구조 - 배열의 구조

C의 대표적 자료 구조인 배열에 대하여 알아본다. 배열은 대부분의 언어에 기본으로 장착되어 있는 자료형태이다. 컴퓨터는 모든 데이터를 0과1의 이진 데이터의 형태로 저장한다. 이진법과 C의 자료형에 대하여는 아래 포스트에 내용이 정리되어 있다. 이진법은 무엇인가? 이진법과 2의 보수 이진법은 무엇인가? 아니 그 전에 십진법에 대해서 알아본다. 십진법은 누구나 알고 있는 진법이다. 십진법이라고 가르쳐주지 않아서 헷갈릴 뿐이다. 바로 이것이다. 왼손 새끼손가락부터 오른� digiconfactory.tistory.com C언어의 자료형 C언어 2 - 1 | 자료형 | char 형 변수의 사용 C언어의 자료형을 배워본다. 자료형은 무엇일까? 자료형을 논하기 전에 먼저 컴퓨터가 정보를 어떻게 다루는지 알아 봐야한..

알고리즘(Algorithm)/C언어 알고리즘 2020. 8. 26. 23:57
◀ 1 ▶

블로그정보

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

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

카테고리

  • 분류 전체보기 (1291)
    • IT뉴스 (94)
    • IT일반 (227)
    • IT출판 (161)
      • 워드프레스 | 티스토리 (136)
      • 유튜브 (Youtube) (17)
    • 블록체인 - Blockchain (31)
    • 암호화폐 투자 (191)
    • 운영체제 메뉴얼과 팁 (31)
      • 윈도우11 (10)
      • 리눅스 일반 (21)
    • 코딩(CODING) (380)
      • 자바(JAVA) (82)
      • 파이썬(PYTHON) (92)
      • C# .NET Core (42)
      • 러스트(Rust) (3)
      • C언어(C Language) (41)
      • C++ (41)
      • 자바스크립트(JS) (20)
      • HTML | CSS (36)
      • 루아(Lua) (15)
      • 어셈블리어 MASM (6)
      • PHP (2)
    • 컴퓨터구조 (10)
      • 운영체제 | OS (6)
      • 컴퓨터 하드웨어 (4)
    • 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 서적 리뷰 (23)
    • 로블록스(Roblox) (2)
    • 일본어 (8)
    • 영화 (1)
    • IT상품평 (14)
    • 과학일반 (1)
    • 컴퓨터보안 (2)

방문자 카운터

  • 어제 :
  • 오늘 :
  • 누적 :

방문자 그래프

공지사항

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

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

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

티스토리툴바