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

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

时间:2023-04-22 13:07:10浏览次数:48  
标签:02 输出 功能 week01 算法 查找 比如 输入

1、什么是算法?

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


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

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

2、定义算法

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


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

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

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


3、算法的五个特性

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

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


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



标签:02,输出,功能,week01,算法,查找,比如,输入
From: https://blog.51cto.com/u_15708686/6215234

相关文章

  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之006 week01 02-06 循环不变量
    循环不变量1、循环开始时需要做什么?之前我们讲的线性查找法的核心代码如下:publicstatic<E>intsearch(E[]data,Etarget){for(inti=0;i<data.length;i++)if(data[i].equals(target))returni;return-1;}我们是否有思考过,这样一个......
  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之007 week01 02-07 简单的复杂度分析
    1、复杂度分析复杂度分析本身是非常理论化的一个内容,在计算机科学中,有一个专门的学科叫做——计算复杂性理论。很多童鞋看过《算法导论》,这本书的内容很多很强调算法导论。但是实际上,对于普通程序员来说,不需要过度强调理论化的内容。因为工作中更多面对的是实际的软件工程,工程化的......
  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之003 week01 02-03 代码实现线性查找
    1、算法描述在数组中逐个查找元素,即遍历。2、思路原理如算法描述,基本是最简单的代码块了,没有什么额外的原理。3、初步的代码实现线性查找法初步的代码实现:packagecom.mosesmin.datastructure.week01.chap02;/***@Misson&Goal代码以交朋友、传福音*@ClassNameLinearSearc......
  • 02:基础入门-数据包拓展
    1、网站解析对应简要网站搭建过程涉及到的攻击层面?(源码、搭建平台、系统、网络层等)涉及到的安全问题?(目录、敏感文件、弱口令、IP及域名等)2、HTTP/S数据包1.无代理request请求数据包response返回数据包2.有代理request请求数据包proxy代理服务器response返回数......
  • AGC002E Candy Piles
    尝试考虑\(n=1,n=2,n=3\)的必败必胜条件,寻找一些结论,但是发现即使是\(n=3\)胜负情况已经有些不可描述了,说明我们必须尝试转化问题的形式。注意到操作是全局减,常见的转化是差分,但是差分后的操作仍然没有优秀的性质。继续思考,可以得到一个恰当的转化:注意到游戏结束当且仅当最......
  • 文章学习:基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破
    学习文章:英特尔×同态科技|基于AVX-512指令集的同态加密算法中大整数运算性能优化与突破文章人工智能的安全隐患ChatGPT的成功大部分来源于海量的数据支撑和丰富的数据维度,基于13亿参数量的庞大模型,随着用户的不断涌入,ChatGPT不断迭代进化新的“知识”,而在模型表达能力的增......
  • 热题100_20230421
    128、最长连续序列题目说明给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。解题思路1:排序此法不满足时间复杂度为O(n)先对数组进行排序,当遇到不连续的数时则重置当前的序列......
  • [P8766 [蓝桥杯 2021 国 AB] 异或三角]题解
    P8766[蓝桥杯2021国AB]异或三角题目描述分析题目中给出了三个限制首先我们不妨设\(a,b\ltc\),则而由于我们把\(c\)作为了最大值,原题需要有序对\((a,b,c)\)所以\(ans\ast3\)1.\(1\leqa,b,c\leqn\)2.\(a\oplusb\oplusc=0\)3.\(a+b\gtc\)而在枚举过程中,......
  • 物联网---02.Modbus协议
    一、简介Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422、RS485和以......
  • 放逐 | HBOI 2023 游寄
    本来是四月一日的事情,但是现在还是发在这里吧。高一。\(\sfHBOI2023\)上一次来hust还是上次省选呢。进考场了。???你tm距离开考20分钟才开电脑?我还tm要整vscode呢!我还要打缺省源呢!然后傻逼鼠标滚轮寄了,弄了半天,换到了考场最后面的位置。这意味着确认签字又要被排......