Kode sumber dalam proyek ini dilengkapi dengan buku teks " Edisi Bahasa Struktur -C " [Yan Weimin, Wu Weimin Edition] dan " Koleksi Pertanyaan Struktur Data - Edisi Bahasa C " [Yan Weimin, Wu Weimin, Edisi Pertambangan].
| Buku Teks Struktur Data | Diatur pertanyaan struktur data |
|---|---|
![]() | ![]() |
Proyek ini mencakup kode sumber buku teks dan kode sumber latihan , dan dibagi menjadi 4 versi, yaitu: cfree , dev-c ++ , clion , dan visualc ++ , di antaranya:
Pilihan IDE
CFREE adalah perangkat lunak domestik yang sangat baik. Namun, produk tersebut telah dihentikan untuk waktu yang lama, dan ada beberapa masalah kompatibilitas pada WIN10 dan perlu disesuaikan.
Dev-C ++ adalah perangkat lunak open source yang sekecil dan praktis seperti CFREE. Yang paling penting adalah kompatibel dengan Win10 dan direkomendasikan.
Clion membutuhkan sedikit pengetahuan tentang CMake dan membutuhkan persyaratan kinerja yang sedikit lebih tinggi untuk notebook. Namun, produk JetBrains Series memiliki fungsi yang sangat baik dan sangat disarankan untuk mencobanya.
Microsoft Visual C ++ diproduksi oleh Microsoft. Jika Anda tidak menggunakan C/C ++/C# dan rute lainnya di masa depan, Anda tidak dapat menggunakannya terlebih dahulu. (Catatan: Sejak 2018, VC ++ 6 telah diganti dengan Microsoft Visual C ++ 2010 di tingkat kedua ujian bahasa C komputer. Jadi jika Anda memiliki kebutuhan penilaian, harap biasakan diri Anda dengan IDE ini)
Analisis pertanyaan non -kode dalam "pengumpulan pertanyaan struktur data" disimpan dalam analisis latihan .
注:
1. "CFree"是完整版本。"Dev-C++"/"CLion"/"VisualC++"是新增的版本,这三个版本最终会取代"CFree"版本。
2. "CFree"版本既可以用CFree直接打开,也支持用Dev-C++打开,所以当使用CFree遇到兼容问题时,可尝试用Dev-C++。
3. 上述四个版的代码是同步更新的,但是各版本之间相互独立,没有任何依赖关系,允许单独运行/测试。
4. 对所有版本的代码均未充分测试,尤其是很多代码没有完成的边界检查(原因是此处以实现算法正确性为目的,而较少考虑程序的健壮性),所以如有BUG请到Issues反馈。
Tujuan keseluruhannya adalah untuk memastikan kebenaran, meningkatkan keterbacaan, dan mengurangi kesulitan belajar.
Setelah mengkloning/mengunduh kode sumber ke area lokal, Anda dapat melihat file readme di setiap cabang untuk mendapatkan informasi bantuan

| Nomor seri | emoji | Artinya dalam proyek ini | Tanda Singkatan |
|---|---|---|---|
| (0) | ? | Inisialisasi proyek | :tada: |
| (1) | Perbarui dokumentasi, termasuk tetapi tidak terbatas pada readme | :memo: | |
| (2) | Rilis Kode Sumber Baru | :bulb: | |
| (3) | ♻️ | Refactoring terutama mengacu pada memodifikasi kode sumber dan komentar yang ada | :recycle: |
| (4) | ✏️ | Proofreading terutama mengacu pada mengoreksi kesalahan ketik, memodifikasi tata letak kode sumber, memperbarui komentar, dll. | :pencil2: |
| (5) | ? | Perbaiki bug di kode | :bug: |
Blog Pribadi
Sumber referensi emoji dalam informasi komit:
| bab | Festival | isi | Termasuk algoritma | Komentar |
|---|---|---|---|---|
| 01 PENDAHULUAN | Status | Tentukan beberapa konstanta dan fungsi bersama | ||
| 02 Tabel Linear | Sqlist | Tabel urutan | 2.3, 2.4, 2.5, 2.6 | Struktur penyimpanan berurutan dari tabel linier |
| Serikat | A = A∪B | 2.1 | ||
| Mergesqlist | C = a+b | 2.2, 2.7 | Gabungkan tabel pesanan | |
| LinkList | Daftar tautan | 2.8, 2.9, 2.10, 2.11 | Struktur penyimpanan rantai tabel linier | |
| Distist | C = a+b | 2.12 | Daftar tautan gabungan | |
| Daftar slinkl | Daftar Tertaut Statis | 2.13, 2.14, 2.15, 2.16 | ||
| Perbedaan | (AB) ∪ (BA) | 2.17 | ||
| Dulinklist | Daftar tautan loop dua arah | 2.18, 2.19 | ||
| Elinklist | Daftar tautan linier yang diperluas | 2.20 | ||
| DISTER MERGEEEL | C = a+b | 2.21 | Daftar tautan linear yang digabungkan dan diperluas | |
| Polinomial | Polinomial satu arah | 2.22, 2.23 | ||
| 03 Tumpukan dan Antrian | Sqstack | Tumpukan | Struktur penyimpanan berurutan | |
| Konversi | Konversi prioritas | 3.1 | Aplikasi Tumpukan | |
| LineEdit | Program pengeditan baris | 3.2 | Aplikasi Tumpukan | |
| Labirin | Labirin Cara Menemukan | 3.3 | Aplikasi Tumpukan | |
| Ekspresi | Evaluasi Ekspresi | 3.4 | Aplikasi Tumpukan | |
| Hanoi | Menara Hannor | 3.5 | rekursi | |
| Tautan | Kolom rantai | Struktur penyimpanan rantai | ||
| Sqqueue | Antrian berurutan | Antrian loop, struktur penyimpanan berurutan | ||
| Bankqueuing | Simulasi antrian bank | 3.6, 3.7 | Aplikasi antrian | |
| 04 String | Sstring | String urutan | 4.1, 4.2, 4.3, 4.5 | Penyimpanan berurutan |
| HString | Tumpukan string | 4.4 | Penyimpanan berurutan, alokasi memori dinamis | |
| Lstring | String blockchain | Penyimpanan berurutan + penyimpanan rantai | ||
| Kmp | Algoritma KMP | 4.6, 4.7, 4.8 | Algoritma pencocokan string | |
| WordList | Indeks kata kunci | 4.9, 4.10, 4.11, 4.12, 4.13, 4.14 | Aplikasi heap string dan tabel linier | |
| 05 Array dan Tabel Umum | Array | Array multidimensi | ||
| Tsmatrix | Matriks jarang | 5.1, 5.2 | Cara Menyimpan Tabel Pesanan Tiga | |
| Rlsmatrix | Matriks jarang | 5.3 | Cara menyimpan tabel pesanan tautan logis baris | |
| Daftar silang | Matriks jarang | 5.4 | Metode penyimpanan daftar silang | |
| Glist-ht | Tabel umum | 5.5, 5.6, 5.7, 5.8 | Representasi penyimpanan daftar tautan kepala dan ekor | |
| BLRIST-E | Tabel umum | Perluasan Representasi Penyimpanan Daftar Tertaut Linear | ||
| Mplist | Polinomial M-Part | Penyimpanan rantai | ||
| 06 pohon dan pohon biner | Sqbitree | Struktur penyimpanan berurutan pohon biner | ||
| Bitree | Struktur Penyimpanan Daftar Biner Tertaut dari pohon biner | 6.1, 6.2, 6.3, 6.4 | ||
| Bitritree | Struktur penyimpanan daftar tertaut tiga perempat dari pohon biner | |||
| Bithrtree | Petunjuk Pohon Biner | 6.5, 6.6, 6.7 | ||
| Ptree | Representasi penyimpanan tabel induk dari pohon | |||
| Ctree | Representasi penyimpanan dari daftar tertaut anak -anak pohon (dengan orang tua) | |||
| Cstree | Daftar Binary Tertaut Tree (Anak-anak) Representasi Penyimpanan Struktur Struktur | |||
| Mfset | mengumpulkan | 6.8, 6.9, 6.10, 6.11 | ||
| Huffmantree | Pohon Huffman | 6.12, 6.13 | Juga dikenal sebagai "pohon hafman" | |
| Powerset | Koleksi | 6.14/6.15 | ||
| Nqueens | N Queen's Problem | 6.16 | ||
| 07 gambar | Mgraph | Penyimpanan matriks adjacency dari grafik | 7.1, 7.2, 7.4, 7.5, 7.6 | Grafik terarah, jaringan terarah, grafik yang tidak diarahkan, jaringan yang tidak diarahkan |
| Algraph | Penyimpanan tabel yang berdekatan dari grafik | Grafik terarah, jaringan terarah, grafik yang tidak diarahkan, jaringan yang tidak diarahkan | ||
| Olgraph | Daftar Cross-Link Penyimpanan Diagram | 7.3 | Grafik terarah, jaringan terarah, grafik yang tidak diarahkan, jaringan yang tidak diarahkan | |
| Amlgraph | Penyimpanan beberapa tabel yang berdekatan dari grafik | Grafik tidak terarah, jaringan tidak terarah | ||
| Spanningtree | Spanning Tree of Notrected Graphs | 7.7, 7.8 | Mr. Deep sangat baik menjadi pohon | |
| Komponen yang terhubung dengan kuat | Komponen konektivitas yang kuat grafik terarah | Algoritma Kosaraju dan Algoritma Tarjan | ||
| Minimumspanningtree | Pohon spanning minimum untuk jaringan yang tidak diarahkan | 7.9 | Algoritma Prim dan Algoritma Kruskal | |
| Poin Artikel | Node dari grafik yang tidak diarahkan | 7.10, 7.11 | ||
| Topologi | Penyortiran topologi AOV-jaringan | 7.12 | Grafik terarah | |
| Metode kritis | Jalur utama ke jaringan AOE | 7.13, 7.14 | Jaringan yang ditargetkan | |
| PePtpaths | Algoritma Jalur Terpendek | 7.15, 7.16 | Algoritma Dijkstra dan Algoritma Floyd | |
| 08 Manajemen Penyimpanan Dinamis | BoundaryTagMethod | Metode Identifikasi Batas | 8.1 | |
| Sistem Buddysystem | Sistem Mitra | 8.2 | ||
| Garbagecollection | Koleksi unit yang tidak berguna | 8.3 | Tabel Generalisasi Traversal Tumpuk |