算法入门,心得体会篇 1 附送算法资源

 最近在研究算法,希望给很多刚入门的朋友带来一些启发。

谈谈自己的一些新的体会,另附送初级算法资源(下面共享链接):

其实刚开始的很多时候,自己并不知道算法对于程序来讲有什么重要性,相信很多刚刚步入编程领域的小白跟我一样,懵懵懂懂,不知道从哪里入手。以前上课的时候,老师布置的作业,老师布置的任务。对着书做,去编程,似乎都很简单,基本上都不需要花多少时间,我们就能把作业完成。考试的时候,分数也挺高。

 

我们就没有过多的注重算法本身,很多时候,我们注重的是编出来的小程序能不能实现我们想要的效果。但是事实上,一般教材里面的算法都很简单,我们编出来的小程序其实也很low,我们自己很多时候并没有觉察到,真正的不会做的时候,我们稍微百度一下,就能解决问题。哈哈,现在想想那都是错觉。

稍微百度一下就能解决的算法很多时候并不能代表什么?只能说它简单。当然,简单的东西有时候很实用,也很有意义。我并非否定哪些简单的算法,我只是在网上奋战了3天才学会一个以前从未接触过的vibe算法之后,突然发现自己以前学的很多东西都很low,真的刷新了我对算法的认识,让我从新去理解,去看待算法,因此写下了这篇博文!

(希望看到我这篇文章的朋友能够从新认识一下算法,那我就没白写这篇文章啦(傻笑))。

我花了一上午的时间学习,认识算法。得到了以下一些总结:

1、算法是什么?

让我们来看看算法的定义吧。(以下定义摘自中文维基百科)

在数学和计算机科学/算学之中,算法/演算法/算则法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和初始输入(可能为空)开始,经过一系列有限而清晰定义的状态最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。这些尝试包括库尔特·哥德尔、雅 克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年 Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的图灵机。即使在当前,依然常有直觉想法难以定义为形式化算法的情况。

   ps:太高大上,其实我也不理解,表示不喜欢复制粘贴

在我看来,算法,它是一个程序的核心思想,是一个程序的灵魂!

我记得我数据结构的老师经常跟我们讲:“程序=算法+数据结构,所以你们得好好学习数据结构啊!”,当时大家都不屑一顾,其实我当时就是这样想的(笑脸)。现在回过头来,数据结构很重要,算法确确实实也很重要。因为那个时候编的东西还很low,基本不需要考虑这些,所以眼光比较狭隘!(希望看到我这篇文章的朋友能够从新认识一下算法跟数据结构的重要性,我就没白写这篇文章啦)。

2、算法由什么组成?

这个大家可以自行百度!上面有很官方的解释,我就不抄了,我在这里谈谈自己的一点点理解想法(欢迎大佬指正,交流!)

在我看来,算法包括3个部分:

1)、参数:参数主要分为2个大类,分别是(输入参数和输出参数)(固定参数和变量),无论什么时候,先明确下来,我要实现这个算法,需要哪些参数,这是做研究的基础!!!

2)、核心计算:不同的算法有不同的计算规则,但是这些计算规则都是建立在上一步的那些参数的基础之上,包括很多计算,本质就是在计算这些参数中的一部分;还有就是比较,通常不同的参数会有比较结果出来!(很浅)

3)、数据的存储分析:通过算法之后,我们会得到一些我们想要得到的参数。这里先明确一点,我们需要什么,这一点很重要!得到这些参数数据之后,我们得把它们存储起来,或者说用什么表现形式(表,图还是简简单单的数字)。这些都得因程序的要求而定,我讲的主要是思想,具体的实现,还需要大家仔细的研读算法!

这第一篇博文,讲的其实不是很透彻,主要是对于那些刚接触算法入门的朋友,有一定的启发意义。

程序并不重要,关键是算法。

ps:附上资源(全部免费,有赞就最好不过喽!!!)

matlab经典算法https://pan.baidu.com/s/1cyHF99OteZ5jYaBpR_h1hQ

经典算法大全https://pan.baidu.com/s/1IiI632I-_JwIfoFnJmGCRQ

数据挖掘十大经典算法:https://pan.baidu.com/s/1qyy5VbR1F_MtNo0fjb62Sw

希望朋友们能够举手之劳,关注一下我哦,以后还会持续更新,都会有免费资源奉上哦!!!

猜你喜欢

转载自blog.csdn.net/qq_40891574/article/details/81164223