【万字长文】不学算法你也应该知道的算法知识

科技 科技 1328 人阅读 | 0 人回复

<
文终有投票哦~~

序言

兄弟,念一同进修算法吗?念一同变强吗?念结业的时分正在算法圆里吊挨口试民吗?念成为刷题狂人吗?
快去联系我,一同相互监视,一同制服力扣~~
我的伙伴,刷题四天王(本人启的):





那借等啥!算法那借没有得赶快教起去!那一冲动我那包整的河北话皆彪出去了。
1、甚么是算法

甚么是算法?我们为何要教算法?算法是为了甚么才呈现的?算法是怎样从处理一个标题问题逐渐到处理一个别系的标题问题的?
念要进修算法,假如您请求没有下,您能够没有教那个,您只需求明白怎样用,怎样用,甚么处所用就能够了~
可是假如您对算法念有深化的理解,那末那些您是需求明白的。
1.1 绪论

念必各人皆听过如许一句话:数据构造+算法=程序
您能够会道:屁嘞,我没有会数据构造取算法,我也还是写程序。我只能道:能道出去那话,一看您便是个新脚
您理解甚么是数据构造吗?您理解甚么是算法吗?没有要把它们看得那末高峻上,他们的本来定义实在很俭朴的~~
数据构造:

  提一嘴根底常识,正在编程言语中,数据是疑息的载体,而数据又分为值范例战援用范例。值范例不过便是整数,真数,复数等,而援用范例便是那些数组,字符串,会萃图片,音乐等。
  有位老哥道过:任何数据皆可使用数据构造表示出去。实在意义便是,数据构造便是存储数据的构造体。
  实在数据构造的定义便是那么俭朴,没有要看的太下
算法:

  一个程序,有一种册本上的形貌:处理一个标题问题除要有一个数据构造去表示战构造疑息中,借需求一系列步伐去完成标题问题的处理计划。
  当然了,第一个逗号前里的那当然便是数据构造了,那后背的一系列步伐实在道的便是算法。
  也能够称为:操纵数据构造的办法;大要称为:处理标题问题的计划
  那末看完那两个观点,您能否对数据构造取算法有一个理解了呢?您能否借会道,我没有会数据构造取算法也能写程序了呢?
有面模糊也不妨,我去带您看几个例子,您便大白了~~
案例:

例子1 HelloWorld:
  HelloWorld也能当数据构造取算法的例子??!出错,出看错,他能!他能!!
  java代码:
  1. public class Hello{
  2.   /*
  3.       正在那里Hello战World便是两个数据构造
  4.       将两个数据构造用+拼接起去,便是算法
  5.    */
  6. public static void main(String[] a){
  7.      System.out.println("Hello"+"World");
  8. }
  9. }
复造代码
Python代码:
  1. print("Hello"+"World")
复造代码
同理
例子2 两个数字相减:
  输进两个数字,输出两个数字的战
  Java代码:
  1. public class Hello{
  2. public static void main(String[] a){
  3.      System.out.println(sumTwo(5,6));
  4. }
  5. public static int sumTwo(int a, int b){
  6.      return a+b;
  7. }
  8. }
复造代码
那里面出无数据构造,只要工夫,也有算法,算法便是a+b
  Python代码:
  1. def sumTwo(a:int,b:int)->int:
  2. return a+b
复造代码
例子3 两数之战(去实的了啊!):
<blockquote>  给您一个非空数组,战一个目的值,从数组中找出两个元素使其的战取目的值不异,并返回一个少度为2的数组拆那两个值对应的下标,只许可一个元素利用一次
  ————源于力扣第一题,俭朴易度
  Java代码:
  [code]public class Hello{public static void main(String[] a){  System.out.println(); }public static TwoSum(int[] nums1, int[] nums2, int target){  /*    最随便念到的,也是出教过系统进修过算法的人的办法    嵌套轮回:    遍历nums1,再遍历nums2,然后乞降,取目的值做判定    当然,设法很俭朴,却会出错,由于借要思索元素只用到一遍  */  for (int i=0;i<span class="token operator">
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则