数据结构
大本钟下的菜鸟驿站
这个作者很懒,什么都没留下…
展开
-
数据结构入门(4)迷宫问题
初看题目,可以用栈记录已经走过的通路,当走不通时退栈,考虑上一步,在进行判断,利用穷举法进行探索(深度优先搜索)。用二维数组来储存迷宫,同时用一个和迷宫同样大的数组来标记该坐标是否走过。对于东南西北的方向判定,用两个数组来替换(具体看代码)。为了解决边界问题,设置地图时,可以在地图外面多加一圈1(设置一圈边界)。DFS不详细写,后面会专门写一个博客区分DFS和BFS。记录完入栈后,最后对栈进行逆转,即为路径。最后在注意一下输出格式,和逗号位置。原创 2022-10-13 11:32:12 · 612 阅读 · 1 评论 -
数据结构入门(3)约瑟夫环
太久没写博客了,因为一些客观原因(实际就是偷懒了)。这道题是之前很久写的,没有写具体思路,主要在于创建无头结点的循环链表来记录数据以及判断终止循环的条件。原创 2022-10-11 20:31:52 · 416 阅读 · 0 评论 -
数据结构入门(2)一元多项式的乘法与加法运算
对于大部分项都有的稠密多项式更适合用数组进行实现,而对于项数相差较大且较少的多项式,则更适合用单链表进行存储。1)对于乘法的多项式合并,我尝试了用一个中间链表来储存A链第i项乘B链所有项,然后递归add函数,最后还是选择了用链表数组,感觉对空间有点浪费,感兴趣的同学可以试试一个链表来解。一定要时刻注意自己的指针指向哪里,注意越界问题!原创 2022-09-21 21:38:02 · 834 阅读 · 1 评论 -
数据结构刷题(1)链表去重
题目中所给的地址是自定义的五位数字对地址进行取代,千万不要把他当作真实地址(笔者吃过大亏qaq)搞清楚这一点之后,就好解决了,可以设置结构体储存三个int类型的变量,包含地址,键值,下一个结点。题目一开始就键入了N,故可以轻松构造一个结构体数组,储存数据。第二个关键在于键入的值并不是一开始就排好序的,得进行适当排序后,在进行去重的操作,此时另设一个数组用于储存去除的数据。1)写题时,发现不必要用两个结构体数组来储存,可以引入一个bool类型的变量,将重复与否区分开来,输出时加个条件就行。原创 2022-09-19 22:47:37 · 278 阅读 · 0 评论