Исходный код в этом проекте оснащен учебником « Language -C Structure -C Language Edition » [Yan Weimin, Wu Weimin Edition] и « Сбор вопросов структуры данных - C Language Edition » [Yan Weimin, Wu Weimin, Mining Edition].
| Учебник по структуре данных | Набор вопросов структуры данных |
|---|---|
![]() | ![]() |
Этот проект включает в себя исходный код учебника и исходный код упражнений и разделен на 4 версии, а именно: cfree , dev-c ++ , clion и visualc ++ , среди которых:
Выбор IDE
CFREE - отличное домашнее программное обеспечение. Тем не менее, продукт был прекращен в течение длительного времени, и есть некоторые проблемы с совместимостью на Win10 и необходимо скорректировать.
Dev-C ++-это программное обеспечение с открытым исходным кодом, столь же небольшое и практичное, как CFREE. Самое главное, что он совместим с Win10 и рекомендуется.
Клион требует небольших знаний о Cmake и требует немного более высоких требований к производительности для ноутбуков. Тем не менее, продукты серии Jetbrains имеют отличные функции и настоятельно рекомендуются попробовать их.
Microsoft Visual C ++ производится Microsoft. Если вы не принимаете C/C ++/C# и другие маршруты в будущем, вы не можете сначала использовать их. (Примечание: с 2018 года VC ++ 6 был заменен на Microsoft Visual C ++ 2010 на втором уровне экзамена по языку компьютера. Поэтому, если у вас есть потребности в оценке, ознакомьтесь с этим IDE)
Анализ некодных вопросов в «Сборке вопросов структуры данных » хранится в анализе упражнений .
注:
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) | ♻ | Рефакторинг в основном относится к изменению существующего исходного кода и комментариев | :recycle: |
| (4) | ✏ | Корректировка в основном относится к исправлению опечаток, изменению макета исходного кода, обновлению комментариев и т. Д. | :pencil2: |
| (5) | ? | Исправить ошибки в коде | :bug: |
Личный блог
Источник ссылки на emoji в информации о коммите:
| глава | Фестиваль | содержание | Включает алгоритм | Примечание |
|---|---|---|---|---|
| 01 Введение | Статус | Определите некоторые общие постоянные и функции | ||
| 02 Линейная таблица | SQLIST | Таблица последовательности | 2.3, 2,4, 2,5, 2,6 | Последовательная структура хранения линейных таблиц |
| Союз | A = a∪b | 2.1 | ||
| Mergesqlist | C = A+B. | 2.2, 2.7 | Таблица заказа слияния | |
| Linklist | Список ссылок | 2.8, 2,9, 2.10, 2.11 | Цепочная структура хранения линейных таблиц | |
| Мергелист | C = A+B. | 2.12 | СПИСОК СЛУЖБА СМЕРЫ | |
| Slinklist | Статический связанный список | 2.13, 2.14, 2,15, 2.16 | ||
| Разница | (AB) ∪ (BA) | 2.17 | ||
| DulinkList | Список ссылок на двунаправленные циклы | 2.18, 2.19 | ||
| Elinklist | Расширенный список линейных ссылок | 2.20 | ||
| МЕРГЕИЛИСТ | C = A+B. | 2.21 | Комбинированный и расширенный список линейных ссылок | |
| Полиномиал | Односторонний полином | 2.22, 2.23 | ||
| 03 стека и очередь | SQStack | Куча | Последовательная структура хранения | |
| Обращение | Приоритетное преобразование | 3.1 | Приложение стека | |
| LINEDIT | Программа редактирования линий | 3.2 | Приложение стека | |
| Лабиринт | Лабиринт способ найти | 3.3 | Приложение стека | |
| Выражение | Оценка выражения | 3.4 | Приложение стека | |
| Ханой | Башня Ханнор | 3.5 | рекурсия | |
| Linkqueue | Цепная колонка | Цепочка хранения | ||
| Sqqueue | Последовательная очередь | Очередь петли, последовательная структура хранения | ||
| Банковская | Смоделировать очередь банка | 3.6, 3.7 | Приложение в очередь | |
| 04 строка | Sstring | Строка последовательности | 4.1, 4.2, 4.3, 4.5 | Последовательное хранилище |
| HSTRING | Куча строка | 4.4 | Последовательное хранилище, динамическое распределение памяти | |
| LString | Строка блокчейна | Последовательное хранилище + цепочка хранения | ||
| Кмп | Алгоритм КМП | 4.6, 4.7, 4.8 | Алгоритм сопоставления строки | |
| СЛОВО | Индекс ключевых слов | 4.9, 4.10, 4.11, 4.12, 4.13, 4.14 | Нанесение струн кучи и линейных таблиц | |
| 05 массивов и обобщенные таблицы | Множество | Многомерный массив | ||
| TSMatrix | Разреженная матрица | 5.1, 5.2 | Как хранить столы с тройным заказом | |
| Rlsmatrix | Разреженная матрица | 5.3 | Как хранить таблицу заказов логических ссылок строк | |
| Кросс -лист | Разреженная матрица | 5.4 | Метод хранения списков поперечной связи | |
| Глист-Хт | Обобщенная таблица | 5,5, 5,6, 5,7, 5,8 | Голова и хвостовая ссылка на хранение | |
| Глист-е | Обобщенная таблица | Расширенное представление хранения линейного списка линейного списка | ||
| Mplist | M-Part Molynomial | Цепочка хранения | ||
| 06 Дерево и двоичное дерево | SQBitree | Бинарная последовательная структура хранения дерева | ||
| Мит | Двоичная связанная структура хранения списка бинарного дерева | 6.1, 6.2, 6,3, 6,4 | ||
| Bitritree | Три четверти связанная структура хранения списка бинарного дерева | |||
| Bithrtree | Подсказка бинарное дерево | 6,5, 6,6, 6,7 | ||
| Ptree | Использованное представление хранилища таблицы дерева | |||
| Ctree | Представление хранения детского списка Детского дерева (с родителями) | |||
| Cstree | Двоичное связанное список дерева (детское брат) | |||
| MFSET | собирать | 6.8, 6.9, 6.10, 6.11 | ||
| Хаффмантри | Хаффман Дерево | 6.12, 6.13 | Также известен как «Дерево Хафман» | |
| Powerset | Коллекция | 6.14/6.15 | ||
| Nqueens | N Проблема королевы | 6.16 | ||
| 07 изображение | Мгр | Хранилище графика смежности | 7.1, 7,2, 7,4, 7,5, 7,6 | Направленный график, направленная сеть, неопределенная график, неопределенная сеть |
| Альграф | Смежное хранилище таблицы графика | Направленный график, направленная сеть, неопределенная график, неопределенная сеть | ||
| Олграф | Хранение списков поперечной связи на диаграмме | 7.3 | Направленный график, направленная сеть, неопределенная график, неопределенная сеть | |
| Амлграф | Соседнее хранение с несколькими таблицами графика | Неди -график, неисправная сеть | ||
| Spanningtree | Охватывающее дерево неисправенных графиков | 7.7, 7.8 | Мистер Глуб отлично, чтобы стать деревом | |
| Сильноконцентрированные components | Направленный график компоненты сильной связи | Алгоритм Косараджу и алгоритм Тарджана | ||
| Minimumspanningtree | Минимальное охвативное дерево для неисправных сетей | 7.9 | Алгоритм PRIM и алгоритм Крускала | |
| Статья Точки | Узлы неисправного графика | 7.10, 7.11 | ||
| Топологическое сортировка | Топологическая сортировка AOV-сети | 7.12 | Направленный график | |
| CriticalPathmethod | Ключевой путь к сети AOE | 7.13, 7.14 | Целевая сеть | |
| Shortestpaths | Самый короткий алгоритм пути | 7.15, 7.16 | Алгоритм Dijkstra и алгоритм Floyd | |
| 08 Динамическое управление хранением | Boundarytagmethod | Метод идентификации границы | 8.1 | |
| Buddysystem | Партнерская система | 8.2 | ||
| GarbageCollection | Бесполезная коллекция единиц | 8.3 | Обобщенная таблица обезвреживания без стека |