
数据结构与算法
数据结构与算法
立志当大佬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
csp202009-1称检测点查询(java实现)
csp202009-1称监测点查询原创 2022-09-12 12:04:35 · 277 阅读 · 1 评论 -
CCF201509-3 模板生成系统
package cspTest;import java.util.Scanner;public class CspTest2 {//StringBuilder 单线程,线程不安全,查找替换快,是一个动态的对象//String 是不可替换的字符对象,用于少量的数据操作,比较简单//StringBuffer 多线程,线程安全,是一个动态的对象public static void main(String[] args) {Scanner scanner=new Scanner(System.in原创 2021-03-01 15:30:25 · 134 阅读 · 0 评论 -
prim算法求最小生成树的代码实现及具体分析
算法的基本思想 算法设计 算法构造过程编码实现#include<iostream>using namespace std;void Prim(int n,int u0,int C[6][6]){ //定点个数n,开始顶点u0,带权邻接矩阵 bool s[n];//s[i]=true,表明顶点i已加入最小生成树的定点集合U,否则顶点i属于集合V-U int closest[n];//closet[j]表示V-U中的顶点j...原创 2020-10-04 10:25:57 · 1048 阅读 · 0 评论 -
算法学习之递归解析
定义:简单来说,就是程序自己调用自己递归通常用来把复杂的大问题转化为与原问题类似的子问题来求解边界条件与递归方程式递归的两大基本要素优点:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,为设计算法、调试程序带来很大方便。缺点:递归算法的运行效率较低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多,容易导致栈的溢出。例1:阶乘#include<iostream>using namespace std;int fac(int n) { if (n == 0原创 2020-07-05 17:09:28 · 307 阅读 · 0 评论 -
算法学习之动态规划详解
定义 动态规划与贪心法类似,但不同的是动态规划是讲究整体最优解,它的当前步做出的最优解与之前的每一步的状态有关,而贪心法当前步得出的最优解只与上一步的状态有关。动态规划主要难在模型的建立。 ## 解题步骤找出最优解性质,刻画其结构特征和最优子结构特征递归的定义最优值,刻画原问题与子问题解间的关系自底向上的计算各个子问题、原问题的最优值,并避免子问题的重复计算根据计算最优值得到的信息,构造最优解例1:金字塔求和问题 给定一个由n行数字组成的数字三原创 2020-07-05 10:34:36 · 138 阅读 · 0 评论 -
算法学习之贪心法
定义贪心法是在对问题进行求解时,只做出在当前情况下最好的解,即局部最优解(而动态规划是整体最优解)解题的一般步骤建立数学模型,来描述问题把问题分解成若干个子问题对每一子问题求解,得到子问题局部最优解把每一个子问题的局部最优解合并成一个解例1:活动选择问题 有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个开始时间si和结束时间fi 。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj原创 2020-07-03 16:50:49 · 335 阅读 · 0 评论 -
算法学习之二分法
定义:二分法是一种在有序数组中查找某一特定元素的算法算法最坏的时间复杂度为O(logn)注意:1.数据类型是有范围的,采用L+(R-L)/2更合适2.注意start=mid+1和end=mid-1,防止死循环3.数据量不可过大代码示例:using namespace std;#includeint binary_search(int a[],int key){int start=0;int end=sizeof(a)-1;while(start<=end){int mid=st原创 2020-07-01 17:20:54 · 574 阅读 · 0 评论 -
递归与回溯解析
原创 2020-07-18 15:42:11 · 133 阅读 · 0 评论 -
智算之道2020初赛第一场试题
第一题排队共 10 个测试点每个测试点 10 分每个测试点限时 1 秒运行内存上限 512MB查看本题最近一次测评结果小 A 现在站在一个n个人的队伍里排队,他们的编号依次为1∼n,现在她面前有m个窗口,其中第i个窗口会给出一个数字ai,然后将队伍中所有编号为ai倍数的人带出队伍,请问最后队伍中还剩下多少个人?输入格式第一行两个用空格隔开的整数分别表示n,m第二行m个用空格隔开的整数,其中第i个代表ai输出格式输出...原创 2020-07-13 16:51:14 · 579 阅读 · 0 评论 -
算法学习之回溯法解析
定义: 是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。当探索到某一步时,发现原先选择并不优,或达不到目标,就退回一步重新选择,这种走不通就退回再走的方法称为回溯法,满足回溯条件的某个状态的点称为回溯点。...原创 2020-07-11 20:57:08 · 534 阅读 · 0 评论