- 博客(5)
- 收藏
- 关注
原创 C++栈的实现
empty():测试栈是否为空,如果栈为空返回 true,否则返回 false。创建了一个叫做 s 的栈对象,其中“<int>”表示这是一个整数类型的栈。表示分别将元素 1、2、3 压入栈顶,即 3 在栈顶,1 在栈底。top():返回栈顶元素的引用,如果栈为空则未定义。表示将元素 3 弹出栈顶,此时栈顶变为元素 2。pop():将栈顶元素弹出,如果栈为空则没有操作。push(val):将 val 压入栈中。size():返回当前栈中元素的数量。表示返回栈顶元素,即 3。
2023-05-22 19:48:41
228
1
原创 有关树的笔记
它由一个或多个节点组成,其中一个节点是根节点,其他节点都以某种方式与这个根节点相关联。前序遍历(Preorder Traversal):从根节点开始,先遍历根节点的值,再遍历所有左子树,最后遍历右子树。后序遍历(Postorder Traversal):从根节点开始,先遍历左子树,再遍历右子树,最后遍历根节点的值。中序遍历(Inorder Traversal):从根节点开始,先遍历左子树,再遍历根节点的值,最后遍历右子树。根节点(Root):树的顶部节点,它没有父节点,如果树不为空,根节点是唯一的。
2023-05-22 19:11:39
76
1
原创 家庭作业-贪心算法
每个作业的截止日期和学分可能是不同的。例如如果一个作业学分为 10,要求在 6 天内交,那么要想拿到这 10 学分,就必须在第 6 天结束前交。我们要做的就是尽量把学分大的作业在它的时间限制之内完成,如果有空余再去完成学分少的作业,而完成学分大的作业时也要满足从后往前的原则,这样才能有更多的空余给那些时间紧迫但学分少的作业留出时间完成。接下来N行,每行包括两个整数,第一个整数表示作业的完成期限,第二个数表示该作业的学分。要满足最优解,既要看时间的紧迫程度,又要看一次学分的数值。
2023-04-02 17:14:56
203
原创 种树问题—贪心算法
现在居民们给出了 h 组建议,每组建议包含三个整数 b,e,t,表示居民希望在路段 b 到 e 之间至少要种t棵树。请问:如果要满足所有居民的建议,至少要种多少棵树。先把建议区间按照end从小到大排序,然后从第一个依次从e往b的方向种t 棵树,则就满足了尽量在区间的交叉处种树,这样在下一个建议时就能最大程度上利用上一个建议的种树棵数。输出只有一个数,为满足所有居民的建议,所需要种树的最少数量。下面 h 行描述一条建议:b,e,t,用一个空格分隔。尽量在建议区间的交叉处种树,那么种树的数量是最少的。
2023-03-31 21:32:44
714
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人