Skip to content

Lukelluke/bjfu-data-structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

北林 OJ 数据结构习题 C 语言版代码

在写仓库的时候也在不断学习,所以代码之间在风格与命名上有差异。因为实在太菜,踩了很多坑,但不保证之后不会出现新坑,OJ 检测数据随时变化。

每道题都是尽量按照题意去实现。

列表

索引 题目
204 基于顺序存储结构的图书信息表的创建和输出
205 基于顺序存储结构的图书信息表的排序
206 基于顺序存储结构的图书信息表的修改
207 基于顺序存储结构的图书信息表的逆序存储
208 基于顺序存储结构的图书信息表的最贵图书的查找
209 基于顺序存储结构的图书信息表的最爱图书的查找
210 基于顺序存储结构的图书信息表的最佳位置图书的查找
211 基于顺序存储结构的图书信息表的新图书的入库
212 基于顺序存储结构的图书信息表的旧图书的出库
213 基于顺序存储结构的图书信息表的图书去重
214 基于链式存储结构的图书信息表的创建和输出
215 基于链式存储结构的图书信息表的排序
216 基于链式存储结构的图书信息表的修改
217 基于链式存储结构的图书信息表的逆序存储
218 基于链式存储结构的图书信息表的最贵图书的查找
219 基于链式存储结构的图书信息表的最爱图书的查找
220 基于链式存储结构的图书信息表的最佳位置图书的查找
221 基于链式存储结构的图书信息表的新图书的入库
222 基于链式存储结构的图书信息表的旧图书的出库
223 基于链存储结构的图书信息表的图书去重
225 基于链表的两个递增有序序列的合并
226 基于链表的两个非递减有序序列的合并
227 基于链表的两个集合的交集
228 基于链表的两个集合的差集
229 链表的分解
230 查找链表中的最大值
231 链表的逆转
232 删除链表中满足区间值的结点
233 双向循环链表中结点的交换
234 删除顺序表中指定值的所有元素
235 查找链表中倒数第k个结点
236 删除链表中绝对值相等的结点
237 求解两个升序序列的中位数
238 查找两个单词链表共同后缀的起始结点
239 猴子选大王问题
240 基于栈的中缀算术表达式求值
241 双栈的基本操作
242 基于栈的回文字符序列判断
243 入栈和出栈的基本操作
244 基于栈的后缀算术表达式求值
245 基于栈的可操作判断
246 基于循环链表的队列的基本操作
247 附加判定标志的循环队列的基本操作
248 基于两端操作的循环队列的实现
249 Ackermann函数的递归求值
250 Ackermann函数的非递归求值
251 递归求解单链表中的最大值
252 递归求解单链表中的结点个数
253 递归求解单链表中的平均值
254 中缀表达式转化为后缀表达式
255 迷宫问题
256 病毒感染监测
257 统计字符出现的频度
258 递归实现字符串的逆序存储
259 字符串的插入
260 二维数组中的元素查重
261 数组的正负数分割排序
262 基于哈夫曼树的数据压缩算法
263 基于二叉链表的树结构相等的判断
264 基于二叉链表的二叉树左右孩子的交换
265 基于二叉链表的二叉树的双序遍历
266 基于二叉链表的二叉树最大宽度的计算
267 基于二叉链表的二叉树最长路径的求解
268 基于二叉链表的二叉树叶子结点到根结点的路径的求解
269 基于二叉链表的二叉树的遍历
270 基于二叉链表的二叉树结点个数的统计
271 基于二叉链表的二叉树高度的计算
273 基于Dijsktra算法的最短路径求解
274 六度空间理论
275 基于邻接表的新顶点的增加
276 基于邻接矩阵的新顶点的增加
277 基于邻接表的顶点的删除
278 基于邻接表的新边的增加
279 基于邻接矩阵的新边的增加
280 基于邻接表的边的删除
281 基于邻接矩阵的边的删除
282 基于邻接表的深度优先遍历
283 最长的最短路径的求解
284 基于深度优先搜索的两顶点路径存在与否的判断
285 基于邻接表的长度为k的简单路径的求解
286 基于邻接矩阵的顶点的删除
287 基于递归的折半查找
288 二叉排序树的判定
289 二叉排序树的限定条件下的数据输出
290 基于非递归的二叉排序树的结点的查找和插入
291 平衡二叉树的高度的计算
292 基于链地址法的散列表的插入
293 基于链地址法的散列表的删除
294 基于链表的简单选择排序
295 基于双向链表的双向冒泡排序法
296 砾石的交换排序
297 数组的正负排序
298 基于快排思想的查找
299 计数排序
301 数组的循环左移
302 数组的主元素查询

不足

在代码中,有着如下明显的问题。由于不影响过题,没有修正。

  • 过度依赖的指针、有野指针
  • 出现冗余代码、注释不明确
  • 同一种结构的实现方法前后不一致
  • 内存管理泄漏
  • 函数与变量命名不统一

有一些如 基于二叉树的表达式求值 的题目不在这里面。

一些较难的题目比如上面Pythonprint()eval() 有奇效。

欢迎 IssuePull requests

Releases

No releases published

Packages

No packages published