首页 > 编程语言 >扎实打牢数据结构算法根基,从此不怕算法面试系列之001 week01 02-01 什么是算法?

扎实打牢数据结构算法根基,从此不怕算法面试系列之001 week01 02-01 什么是算法?

时间:2023-04-16 17:24:52浏览次数:37  
标签:02 week01 01 算法 查找 输入

1、什么是算法?

为了明确什么是算法,我们会从简单的查找功能开始讲起。


查找其实一个一个非常简单的算法,
但我们会为这个查找功能的算法做如下工作:

  • 让查找的功能适应更多的数据类型
  • 通过查找的例子讲解如何编写正确的程序?
  • 为查找算法性能测试
  • 对一些常见算法做复杂度分析

2、定义算法

Algorithm的本意:解决问题的方法。
实际上,是指一系列解决问题的、清晰、可执行的计算机指令。


举了例子,生活中也有算法。
问路:如何去天安门?

比如数学题:
如何求解方程式?

比如菜谱:
菜的制作过程。


3、算法的五个特性

  • 1、有限性—不代表时间一定很短;
  • 2、确定性—不会产生二义性,表示算法内部每一个指令都是清晰的。不代表输入相同,输出一定不同;
  • 3、可行性—比如拿出最大的质数,这是不可行的;
  • 4、输入;
  • 5、输出。

通常一个函数,就可以看作为一个算法,输入参数、返回值分别对应为算法的输入输出。


算法的输入是它的操作对象,输出就是它的结果,不可以简单把算法和函数等同。

标签:02,week01,01,算法,查找,输入
From: https://www.cnblogs.com/xlfcjx/p/17323629.html

相关文章

  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之002 week01 02-02 线性查找法
    1、线性查找法什么是线性查找法?举例:在一沓试卷中,找到属于自己的那张试卷。第1张:不是第2张:不是第3张:不是……第n张:是,找到了!第n+1张:不找了……这个解决问题的思路和过程体现就是线性查找法的思想。2、线性查找法思路梳理线性查找法,就是在线性的数据结构中来完成。例......
  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之003 week01 02-03 代码实现线性查找
    1、算法描述在数组中逐个查找元素,即遍历。2、思路原理如算法描述,基本是最简单的代码块了,没有什么额外的原理。3、初步的代码实现线性查找法初步的代码实现:packagecom.mosesmin.datastructure.week01.chap02;/***@Misson&Goal代码以交朋友、传福音*@ClassNameLinea......
  • 由数据范围反推算法复杂度以及算法内容
    一般ACM时间限制是1-2秒这种情况下,c++代码操作次数控制在1e7~1e8下面给出在不同数据范围下,代码时间复杂度和算法如何选择1.n<=30,指数级别,dfs+剪枝,状态压缩dp2.n<=100=>O(n3),floyd,dp,高斯消元3.n<=1000=>O(n2),O(n2logn),dp,二分,朴素版Dijkstra,朴素版Prim、Bellman-Ford4.......
  • 西南民族大学 春季 2023 训练赛 7
    题目详情-L1-1人与神(pintia.cn)换成php直接输出(Toiterateishuman,torecursedivine.题目详情-L1-2两小时学完C语言(pintia.cn)voidsolve(){cin>>n>>k>>m;cout<<n-k*m<<endl;}题目详情-L1-3强迫症(pintia.cn)voidsol......
  • 2023.04.16 - TS编译之后的JS不具备校验功能
    TypeScript编译后的JavaScript文件并不具备类型检查的功能,因为JavaScript语言本身是动态类型、弱类型的,在运行时无法推断变量的类型,只能在编译时推断。而将TypeScript文件编译成JavaScript文件时,会把TypeScript中的类型声明和类型检查都去掉,只保留JavaScript代码,所以......
  • 【LBLD】田忌赛马背后的算法决策
    田忌赛马背后的算法决策870.优势洗牌classSolution{public:vector<int>advantageCount(vector<int>&nums1,vector<int>&nums2){intn=nums1.size();priority_queue<pair<int,int>,vector<pair<int,int>&......
  • 【CVE-2020-1938】Ghostcat 漏洞复现
    0x00漏洞概述Java是目前Web开发中主流的编程语言,而Tomcat是当前流行的Java中间件服务器之一,从初版发布到现在已经有二十多年历史,在世界范围内广泛使用。Ghostcat是由长亭发现的存在于Tomcat中的漏洞,由于TomcatAJP协议设计上存在缺陷,攻击者通过TomcatAJPConnect......
  • LeetCode 双周赛 102,模拟 / BFS / Dijkstra / Floyd
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,欢迎来到小彭的LeetCode周赛解题报告。昨晚是LeetCode双周赛第102场,你参加了吗?这场比赛比较简单,拼的是板子手速,继上周掉大分后算是回了一口血......
  • KubeSphere 社区双周报 | OpenFunction 支持 Dapr 状态管理 | 2023.03.31-04.13
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.03.31-2023.04.13。贡献者名单新晋KubeSphereCon......
  • 2023高效的mysql 随机语句 200万数据为例 用了 0.0030秒
    是的,如果数据表中有200万条记录,使用 ORDERBYRAND() 这种方式来随机选择记录会非常慢,因为MySQL需要对整个表进行排序,然后再返回指定数量的记录。这个过程需要消耗大量的时间和资源。为了提高效率,可以考虑使用其他方法来实现随机选择记录。以下是一些常用的方法:使用 WHER......