이 프로젝트의 소스 코드에는 교과서 " Data Struction -C Language Edition "[Yan Weimin, Wu Weimin Edition] 및 " Data Struction Question Collection -C Language Edition "[Yan Weimin, Wu Weimin, Mining Edition]이 장착되어 있습니다.
| 데이터 구조 교과서 | 데이터 구조 질문 설정 |
|---|---|
![]() | ![]() |
이 프로젝트는 교과서 소스 코드 및 연습 소스 코드가 포함되어 있으며 CFREE , DEV-C ++ , CLION 및 VORIEC ++ 의 4 가지 버전으로 나뉩니다.
IDE의 선택
Cfree는 훌륭한 국내 소프트웨어이지만 초보자에게는 매우 적합합니다. 그러나 제품은 오랫동안 중단되어 왔으며 Win10에 대한 몇 가지 호환성 문제가 있으며 조정해야합니다.
Dev-C ++는 Cfree만큼 작고 실용적인 오픈 소스 소프트웨어입니다. 가장 중요한 것은 Win10과 호환되며 권장된다는 것입니다.
Clion은 CMAKE에 대한 약간의 지식이 필요하며 노트북에 대해 약간 더 높은 성능 요구 사항이 필요합니다. 그러나 JetBrains 시리즈 제품은 우수한 기능을 가지고 있으며이를 시도하는 것이 좋습니다.
Microsoft Visual C ++는 Microsoft에 의해 생성됩니다. 향후 C/C ++/C# 및 기타 경로를 사용하지 않으면 먼저 사용할 수 없습니다. (참고 : 2018 년부터 VC ++ 6은 컴퓨터 C 언어 시험의 두 번째 수준에서 Microsoft Visual C ++ 2010으로 대체되었습니다. 따라서 등급이 필요한 경우이 ID에 익숙해 지십시오).
"데이터 구조 질문 컬렉션 "의 비 코드 질문 분석은 코드를 작성하여 해결 해야하는 문제에 대해서는 Dev-C ++ , Clion 및 Visualc ++ 의 세 가지 버전의 소스 코드를 참조하십시오.
注:
1. "CFree"是完整版本。"Dev-C++"/"CLion"/"VisualC++"是新增的版本,这三个版本最终会取代"CFree"版本。
2. "CFree"版本既可以用CFree直接打开,也支持用Dev-C++打开,所以当使用CFree遇到兼容问题时,可尝试用Dev-C++。
3. 上述四个版的代码是同步更新的,但是各版本之间相互独立,没有任何依赖关系,允许单独运行/测试。
4. 对所有版本的代码均未充分测试,尤其是很多代码没有完成的边界检查(原因是此处以实现算法正确性为目的,而较少考虑程序的健壮性),所以如有BUG请到Issues反馈。
전반적인 목표는 정확성을 보장하고, 가독성을 향상시키고, 학습 어려움을 줄이는 것입니다.
소스 코드를 로컬 영역으로 클로닝/다운로드 한 후 각 지점의 readme 파일을보고 도움말 정보를 얻을 수 있습니다.

| 일련 번호 | 이모티콘 | 이 프로젝트에서 의미 | 약어 마크 |
|---|---|---|---|
| (0) | ? | 프로젝트를 초기화하십시오 | :tada: |
| (1) | README를 포함하되 이에 국한되지 않은 문서를 업데이트합니다 | :memo: | |
| (2) | 새 소스 코드를 릴리스하십시오 | :bulb: | |
| (3) | ♻️ | Refactoring 주로 기존 소스 코드 및 댓글 수정을 나타냅니다. | :recycle: |
| (4) | ✏️ | 교정은 주로 오타 수정, 소스 코드 레이아웃 수정, 댓글 업데이트 등을 나타냅니다. | :pencil2: |
| (5) | ? | 코드에서 버그를 수정하십시오 | :bug: |
개인 블로그
커밋 정보의 emoji 참조 출처 :
| 장 | 제전 | 콘텐츠 | 알고리즘을 포함합니다 | 주목 |
|---|---|---|---|---|
| 01 소개 | 상태 | 일부 공유 상수와 함수를 정의하십시오 | ||
| 02 선형 테이블 | sqlist | 시퀀스 테이블 | 2.3, 2.4, 2.5, 2.6 | 선형 테이블의 순차적 저장 구조 |
| 노동 조합 | a = a∪b | 2.1 | ||
| qlist를 통합합니다 | c = a+b | 2.2, 2.7 | 주문 테이블을 병합하십시오 | |
| 링크리스트 | 링크 목록 | 2.8, 2.9, 2.10, 2.11 | 선형 테이블의 체인 저장 구조 | |
| MERGELIST | c = a+b | 2.12 | 링크 목록을 병합하십시오 | |
| 슬링클리스트 | 정적 링크 목록 | 2.13, 2.14, 2.15, 2.16 | ||
| 차이점 | (AB) b (BA) | 2.17 | ||
| Dulinklist | 양방향 루프 링크 목록 | 2.18, 2.19 | ||
| elinklist | 확장 된 선형 링크 목록 | 2.20 | ||
| 합병리스트 | c = a+b | 2.21 | 결합 및 확장 선형 링크 목록 | |
| 다항식 | 일원 다항식 | 2.22, 2.23 | ||
| 03 스택 및 대기열 | Sqstack | 스택 | 顺序存储结构 | |
| 변환 | 우선 순위 변환 | 3.1 | 스택 애플리케이션 | |
| 라인 티 | 라인 편집 프로그램 | 3.2 | 스택 애플리케이션 | |
| 미로 | 찾는 미로 | 3.3 | 스택 애플리케이션 | |
| 표현 | 표현 평가 | 3.4 | 스택 애플리케이션 | |
| 하노이 | Hannor의 탑 | 3.5 | 재귀 | |
| Linkqueue | 체인 열 | 체인 저장 구조 | ||
| sqqueue | 순차 대기열 | 루프 큐, 순차적 스토리지 구조 | ||
| 은행 큐잉 | 은행 대기열을 시뮬레이션하십시오 | 3.6, 3.7 | 대기열 응용 프로그램 | |
| 04 문자열 | SSTRING | 시퀀스 문자열 | 4.1, 4.2, 4.3, 4.5 | 순차적 인 저장 |
| HSTRING | 힙 스트링 | 4.4 | 순차적 인 저장, 메모리의 동적 할당 | |
| lstring | 블록 체인 문자열 | 순차적 인 스토리지 + 체인 저장 | ||
| KMP | KMP 알고리즘 | 4.6, 4.7, 4.8 | 문자열 일치 알고리즘 | |
| WordList | 키워드 색인 | 4.9, 4.10, 4.11, 4.12, 4.13, 4.14 | 힙 스트링 및 선형 테이블의 적용 | |
| 05 배열 및 일반화 된 테이블 | 정렬 | 다차원 배열 | ||
| tsmatrix | 드문 매트릭스 | 5.1, 5.2 | 트리플 주문 테이블을 저장하는 방법 | |
| rlsmatrix | 드문 매트릭스 | 5.3 | 행 논리 링크의 주문 테이블 저장 방법 | |
| 크로스리스트 | 드문 매트릭스 | 5.4 | 가교 목록 저장 방법 | |
| GLIST-HT | 일반화 된 테이블 | 5.5, 5.6, 5.7, 5.8 | 헤드 및 테일 링크 목록 저장소 표현 | |
| Glist-e | 일반화 된 테이블 | 확장 된 선형 링크 목록 저장소 표현 | ||
| mplist | M- 파트 다항식 | 체인 저장 | ||
| 06 트리와 이진 트리 | Sqbitree | 이진 트리 순차 저장 구조 | ||
| 비트리 | 이진 트리의 이진 연결 목록 저장 구조 | 6.1, 6.2, 6.3, 6.4 | ||
| Bitritree | 이진 트리의 3/4 링크 목록 저장 구조 | |||
| Bithrtree | 단서 바이너리 트리 | 6.5, 6.6, 6.7 | ||
| ptree | 트리의 부모 테이블 저장 표현 | |||
| ctree | 나무의 어린이 링크 된 목록 (부모와 함께)의 저장 표현 | |||
| CSTREE | 트리의 이진 연결 목록 (Children-Brother) 구조 저장 표현 | |||
| MFSET | 모으다 | 6.8, 6.9, 6.10, 6.11 | ||
| 허프만 트리 | 허프만 트리 | 6.12, 6.13 | "Hafman Tree"라고도합니다. | |
| 파워 세트 | 수집 | 6.14/6.15 | ||
| Nqueens | n 여왕의 문제 | 6.16 | ||
| 07 사진 | mgraph | 그래프의 인접 매트릭스 저장 | 7.1, 7.2, 7.4, 7.5, 7.6 | 지시 된 그래프, 지시 된 네트워크, 방향이없는 그래프, 변형 된 네트워크 |
| algraph | 그래프의 인접 테이블 저장 | 지시 된 그래프, 지시 된 네트워크, 방향이없는 그래프, 변형 된 네트워크 | ||
| olgraph | 다이어그램의 가교 목록 저장 | 7.3 | 지시 된 그래프, 지시 된 네트워크, 방향이없는 그래프, 변형 된 네트워크 | |
| amlgraph | 그래프의 인접한 다중 테이블 저장 | 방향이없는 그래프, 방향되지 않은 네트워크 | ||
| 스패닝 트리 | 방향되지 않은 그래프의 스패닝 트리 | 7.7, 7.8 | Deep Mr. Tree가되기 위해 우수합니다 | |
| 강력하게 연결된 컴포넌트 | 지시 된 그래프 강력한 연결 구성 요소 | Kosaraju 알고리즘 및 Tarjan 알고리즘 | ||
| 최소 스패닝 트리 | 방향되지 않은 네트워크의 최소 스패닝 트리 | 7.9 | 프라임 알고리즘 및 Kruskal 알고리즘 | |
| 기사 포인트 | 방향되지 않은 그래프의 노드 | 7.10, 7.11 | ||
| 토폴로지 조절 | AOV- 네트워크의 토폴로지 분류 | 7.12 | 지시 된 그래프 | |
| Critical Pathmethod | aoe-network의 핵심 경로 | 7.13, 7.14 | 대상 네트워크 | |
| 짧은 경로 | 가장 짧은 경로 알고리즘 | 7.15, 7.16 | Dijkstra 알고리즘 및 Floyd 알고리즘 | |
| 08 동적 스토리지 관리 | 경계 태그 메드 | 경계 식별 방법 | 8.1 | |
| 친구들 | 파트너 시스템 | 8.2 | ||
| garbagecollection | 쓸모없는 단위 수집 | 8.3 | 스택리스 횡단 일반화 된 테이블 |