数据结构练习题汇总
文章平均质量分 90
分享一些数据结构练习题的解题思路与做题过程
《冰美式与三明治》
想做一个Java研发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构练习题】堆——top-k问题
如果是找出最小的数的话,直接将大堆的堆顶元素弹出就是最小的数了,反之求最大的k个数以及最大的数只要将前面建大堆的步骤改为建小堆即可。找出数组中最小的k个数,比如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。求最小k个数,需要建立大堆,反之求最大k个数则建立小堆,这里我们以求最小k个数为例。4.直到最后将大堆中的元素打印即可。原创 2024-04-21 10:31:49 · 2234 阅读 · 91 评论 -
【数据结构练习题】二叉树(1)——1.相同的树2.另一颗树的子树3.翻转二叉树4.平衡二叉树5.对称二叉树
给你两棵二叉树 root 和 subRoot ,检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树,如果存在返回 true 否则返回 false。同样去用子问题的思想去剖析这个问题,先判断这个 subRoot 是不是root的子树,然后再去通过递归的方式判断是不是root左右子树的子树。只要确定根结点结构上和值都是相同的,后面直接去递归根结点的左右子树即可。原创 2024-04-18 18:57:31 · 1941 阅读 · 64 评论 -
【数据结构练习题】队——1.用队实现栈2.用栈实现队
首先,要实现用栈去模拟一个有入队,出队,peek,判断栈是否为空这些功能的队,我们用一个栈也是不能模拟出队列的,我们用两个栈来模拟这个队列,但是这里和队列实现栈的两个队列不一样,这里的两个栈,我们分别设置一个入队的栈,一个专门出队的栈。首先,要实现用队去模拟一个有压栈,入栈,peek,判断栈是否为空这些功能的栈,用一个简单的队列是不能实现这个栈的,用一个双向队列是可以实现这个栈的,但我们今天不用双向队列来实现,我们用两个简单队列来实现这个栈。请你仅使用两个栈实现先入先出队列。原创 2024-04-10 21:37:58 · 2042 阅读 · 55 评论 -
【数据结构练习题】栈——1.括号匹配 2.逆波兰表达式求值 3.出栈入栈次序匹配 4.最小栈
在学习数据结构的过程中遇到了各种各样类型的题目,我在解答这些题目的时候收获了不少,所以我想开设一个专栏来分享我平时做题的收获,在我分享的题中我采用三步法来阐述,希望大家可以在我的文章有收获,并且能够在评论区中积极讨论更多的解题方法。原创 2024-03-16 15:55:36 · 1803 阅读 · 87 评论
分享