初始提交:数据结构与算法课程代码(数据结构与算法,大二上)
数据结构与算法(大二上)课程全程练习、作业与复习的 C++ 代码归档。
课程实验与作业围绕经典数据结构的实现展开:线性表部分要求理解双向循环链表 在网页前进/后退、歌单循环播放、交通信号灯状态轮换等场景下的高效应用(取自 本人实验报告《双向循环链表(双链表)的高效应用》的提炼);此后按章节完成栈与 队列、表达式求值、KMP 字符串匹配、二叉树遍历与构造、排序二叉树、哈夫曼树、 图算法、内排序与查找的编码练习,并有 11 月 22 日课堂小测(栈、KMP、二分查找、 二叉树、冒泡排序)与期末复习(KMP 多种写法、快排/归并/希尔/堆排对比)。
cpp-scripts/
c++ scripts
一些代码/
KMP
线性表
二叉树
图
排序
查找
README.txt
1122小测/
查找作业/
树作业/
树作业2/
复习/
KMPlearn1~5
misc/
SortFunction.h
一些代码/排序/
作业截图(jpg/png/bmp)、实验报告 docx 与编译产物(.exe/.gch)未入库。
#include <bits/stdc++.h>
g++ -std=c++14 -O2 -o demo "cpp-scripts/栈.cpp" && ./demo
Search_Function.h
BinarySTree.h
Heap.h
HuffmanTree.h
Graph-*.h
#include
cpp-scripts/.vscode/
一些代码/README.txt
一些代码/图/
一些代码/KMP/
数据结构与算法全课程 C++ 代码:KMP、二叉树、图、排序、查找、线性表的带个人风格实现
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
数据结构与算法课程代码
任务背景
课程实验与作业围绕经典数据结构的实现展开:线性表部分要求理解双向循环链表 在网页前进/后退、歌单循环播放、交通信号灯状态轮换等场景下的高效应用(取自 本人实验报告《双向循环链表(双链表)的高效应用》的提炼);此后按章节完成栈与 队列、表达式求值、KMP 字符串匹配、二叉树遍历与构造、排序二叉树、哈夫曼树、 图算法、内排序与查找的编码练习,并有 11 月 22 日课堂小测(栈、KMP、二分查找、 二叉树、冒泡排序)与期末复习(KMP 多种写法、快排/归并/希尔/堆排对比)。
内容结构
cpp-scripts/c++ scripts),按主题命名:线性表、栈/队列、中缀/后缀表达式、各类排序、折半/分块/动态查找、二叉树、KMP一些代码/KMP、线性表、二叉树、图、排序、查找六节,各节自带自写README.txt说明来源与学习建议1122小测/查找作业/树作业/树作业2/复习/KMPlearn1~5渐进式重写 KMP,多种快排、归并、希尔、堆排写法misc/SortFunction.h排序函数模板声明(比一些代码/排序/下同名文件更早的版本)作业截图(jpg/png/bmp)、实验报告 docx 与编译产物(.exe/.gch)未入库。
运行方法
#include <bits/stdc++.h>的 g++(MinGW-w64 即可),无第三方库。SortFunction.h、Search_Function.h、BinarySTree.h、Heap.h、HuffmanTree.h、Graph-*.h)无独立 main,自写测试程序#include后调用。cpp-scripts/.vscode/是当时的 VS Code 编译调试配置,其中 gdb 路径指向本机 Dev-C++ 自带 MinGW64,换机器需自行修改。来源声明
一些代码/README.txt原话:”这些大部分是我带个人风格的实现,我也没怎么调 试过,有bug就告知”)。一些代码/图/基本为教员提供(含拓扑排序参考实现);一些代码/排序/与课本一致;一些代码/KMP/为跟教员讲解的个人实现; 线性表、二叉树、查找部分以本人实现为主,课本有对应参考。