算法与数据结构
文章平均质量分 82
death-silent
万物皆虚,万事皆允
展开
-
基础数据结构——栈
今天介绍栈和队列 栈是什么 栈是只能在某一端插入数据或者删除数据的线性表 可能有的人不知道线性表是什么,线性表其实就是一个长条 这样式儿的,在线性表里,除了第一个和最后一个元素,其他元素都首尾相连,为什么我要说线性表呢,因为栈可以抽象成这样 一个木桶状的东西,它只能在一端进行删除和插入操作,也就是这样 它也就只能在头部进行操作,就像洗澡时把衣服一件一件脱进塑料桶里,然后洗衣服时只能从最上头开始拿一样,这就是栈了 栈的定义和操作 c++给我们提供了标准的栈结构定义方式如下 #include<st原创 2021-08-09 20:39:55 · 105 阅读 · 0 评论 -
[NOIP2004 提高组]合并果子(贪心,优先队列,小根堆一口气学会)
题目链接洛谷P1090 题意 意思就是给你一堆数(比如1 2 3) 让你加到只剩一个数(1+2+3=6) 每次加的代价是加出来的数(1+2=3 , 代价是3 ; 3+3=6 , 代价是6 ; 6+3为总代价) 要求最小代价(引入一种思想:贪心) 贪心 贪心算法,其实根本不用讲,它的核心思路就是求出局部最优解,走一步算一步,每一步都选当前的最优解,根本不从整体上考虑,然后把所有局部解求出来合成整体解。 举个例子,小红邀请小明和小军到小红家玩,但是小红家比较小,只能容纳两人 从图上可以看出,小军无论怎么走都要.原创 2021-08-04 20:01:06 · 346 阅读 · 0 评论 -
silent 算法 递推递归
我一直不知道写什么,但是感觉学了很多东西,却又没几个掌握的,所以把学过的东西再拿出来讲一讲,兴许能加深理解,找到新的疑惑点什么的 这次讲选的是递推递归,递推是一种算法,百度是这么介绍递推的 递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算前面的一些项来得出序列中的指定项的值 递推还有个兄弟,叫递归,百度是这么介绍递归的 程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,原创 2021-08-04 15:07:08 · 153 阅读 · 2 评论