谈下程序设计算法的准备心得与体会-nCov隔离也许帮你提升能力
最近武汉的n-Cov使得大家只能在家办公了。
在家里的感受是什么样的呢?
1.上班的时候一直在奔跑,现在总算可以有集中的时间来思考一些之前一直没能好好整理的内容
2.时间变得自己可以掌控,优先级有自己掌控,暂时这一两个星期不需要为钱而奔波,感觉每天其实过得很充实
首先声明我不是什么算法高手,身边有很多算法高手太厉害了,我仅是一名考虑如何将孩子们能领入计算机正确之门的教育工作者。
最近因为要给一些孩子(5年级到初中)讲下基础算法,而且孩子肯定是需要深入浅出的,这样其实对老师是个很高的要求。
为了不给孩子带错路,不让孩子们觉得算法很难产生抵触情绪,本人最近在阅读大量的资料和上各个大学的公开课。通过大量阅读资料和视频学习,发现当老师真是一个教学相长的过程。
读大学那会儿学习都没这么认真过:)
1.目标与出发点
主要从以下几个方面:
1.如何用简单形象化的例子来讲述一个算法,最好是生活中的列子
2.找一些能用简单代码来体会算法的例子
3.如何归纳出,看到题目,大概能反应出题目考的是哪个算法
4.使用这些算法解题要注意的关键点
2.参考书籍
下面是参考的一些书籍,书籍真的是世界上最好的东西,作者一般都是在书中尽量倾其所有。但是书籍的作者一般会写作专注于某一个或多个方面,和一部分特定人群,所以需要博览群书来提取符合自己的内容。
下面是我参考的一些书籍,感觉角度和内容还是比较丰富。

书中有几段文字,还是挺有意思的,我也截图了一下:
-- “从本质上说,算法只是做事的方法,因此一个不怎么会写程序的数学家也可是算法领域的顶尖高手”
-- “以对一个无序数列进行从小到大排序的问题为例,小学生都能想出的‘插入排序’算法,大多数人打牌摸牌的同时,让手上的同色花牌保持有序,就是用的这种方法”
其实我们生活当中,不自然的在应用一些非常好的算法。

--“算法可以说是程序的灵魂。算法水平额高低很大程度上决定了程序员的层次。”
--“没有算法工地的程序员俗称为码农,大多只能从事技术含量低、机械的编程工作。一般IT培训机构不教算法,培养的就是此类人员。”

3.成果与感受
通过前期零散的总结和,这一周的集中攻克,终于折腾出了下面10多份,自己还比较满意的教案

下面这个网站给我帮助很大,分享你们
https://www.geeksforgeeks.org/

在线视频我觉得比较好的

算法研究学习的一些心得体会,也许很多人觉得浅显,不过自己感觉还是很有满足感的,所以写一下:
1.基础程序设计是for,while循环,加上判断语句
2.程序设计水平的提升,在于你能熟练使用递归,掌握了递归你能控制计算机程序就进入了另外一个阶段
3.大的问题,看起来很复杂,那么我们只能使用分而治之的手法,将大问题分解成为小问题,通过解决小问题来完成大问题的解
4.有些问题,穷举所有情况是NP完全问题,那么计算近似解又快又简单,比方贪心算法
5.计算机擅长的是什么?按照一个式子重复性的工作,那么如果一个问题我们能推导出一个递推式,并且能给出终止条件(也就是问题被分解到足够小,并能求解时的条件),剩下的就交给计算机来完成吧
6.程序的调用栈这个东西很有意思,先搁置一连串待解决的问题,等栈顶这个问题解决了,一连串问题,像多米诺骨牌一样,全部解决:)
7.当然请大概估算一下时间复杂度和空间复杂度,牺牲时间换空间?牺牲空间换时间?存储已计算过的值来避免重复计算
8.人类这个个题能生存这么久,那么其实天生就会使用很多优秀的算法,只是我们没有发觉而已
好了 好了,才疏学浅就暂时能总结这么多了,等水平有了更高提升,对程序有了更高的理解再来写吧~~ 希望对大家有益。
谈下程序设计算法的准备心得与体会-nCov隔离也许帮你提升能力的更多相关文章
- 浅谈Base64编码算法
一.什么是编码解码 编码:利用特定的算法,对原始内容进行处理,生成运算后的内容,形成另一种数据的表现形式,可以根据算法,再还原回来,这种操作称之为编码. 解码:利用编码使用的算法的逆运算,对经过编码的 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM --别人的,拷来看看
从决策树学习谈到贝叶斯分类算法.EM.HMM 引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...
- 浅谈URLEncoder编码算法
一.为什么要用URLEncoder 客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将 ...
- 浅谈Hex编码算法
一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转 ...
- 浅谈关于特征选择算法与Relief的实现
一. 背景 1) 问题 在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果: 1. 特征个数越多,分析特征.训练模型所需的时间就越 ...
- 在Eclipse下配置算法(第四版)运行环境
第一步:配置Eclipse运行环境 Eclipse运行环境配置过程是很简单的,用过Eclipse进行java开发或学习的同学应该都很熟悉这个过程了. 配置过程: (1)系统环境:Windows7 64 ...
- 谈下slot-scope
Vue里有个slot插槽的概念,常用的一般是命名的slot和默认的slot, 这里谈下slot-scope,Vue2.6后改成v-slot slot-scope场景是父组件用子组件的数据,但是样式自己 ...
- <2048>调查报告心得与体会
老师这次给我们布置了一个任务,就是让我们写一份属于自己的调查报告,针对这个任务,我们小组的六个人通过积极的讨论,提出了一些关于我们产品的问题,当然这些问题并不是很全面,因为我们是从自己的角度出发,无法 ...
随机推荐
- 「Luogu P3183」[HAOI2016]食物链 解题报告
身为一个蒟蒻,由于刷不过[NOI2001]食物链 于是出门左转写了道另一道假的食物链 戳这里 这里的食物链个条数其实就是有向图的路径数(应该是这么说吧,我弱) 思路: 拓扑(Topulogy)(一本正 ...
- 09_$.ajax()参数详解及标准写法
1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...
- .NET BS端和CS端相互压缩发送接收byte对象数据方法
本文是总结实际项目经验,代码不少是学习别人整合的,效果稳定可靠,有很大参考价值:但是也有不全面的地方,朋友们拿到可以按照自己需要修改. 场景是项目需要在客户端控制台软件和.NET MVC站点间互相传递 ...
- Kubernetes 会不会“杀死” DevOps?
作者丨孙健波(天元) 阿里巴巴技术专家 导读:DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开 ...
- DNS自述:我是如何为域名找到家的
对于互联网一代的我们,一出生就学会使用电脑.当我们对着浏览器地址栏输入www.baidu.com的时候,百度的首页就出现在面前.但你可曾想过,为什么我们输入www.baidu.com就可以弹出百度首页 ...
- Could not write JSON: Infinite recursion (StackOverflowError);
转自:https://blog.csdn.net/east123321/article/details/80435051 在controller返回数据到统一json转换的时候,出现了json inf ...
- Java开发中的各种乱码问题
乱码问题 其实解决乱码问题,就是保证所有的编码格式一致,就不会出现问题. 控制台乱码 修改idea的控制台格式 修改 idea.exe.vmoptions和idea64.exe.vmoptions 在 ...
- 论Java中的抽象类与接口
目录 抽象类和抽象方法 定义 与普通类的区别以及注意点: 抽象类的作用 接口 定义 示例 注意 作用 最后:接口与抽象类的异同 使用场景 借鉴 抽象类和抽象方法 定义 抽象方法和抽象类都必须被abst ...
- 基于C#的机器学习--垃圾邮件过滤
在这一章,我们将建立一个垃圾邮件过滤分类模型.我们将使用一个包含垃圾邮件和非垃圾邮件的原始电子邮件数据集,并使用它来训练我们的ML模型.我们将开始遵循上一章讨论的开发ML模型的步骤.这将帮助我们理解工 ...
- 使用wireshark 对flutter 框架APP进行抓包
引言 最近公司开发一个APP,由于原生人力不足,直接由前端使用flutter 开发的,而使用flutter框架开发的客户端 fiddler无法抓到包,所以我采用wireshark从路由层面抓包 fid ...