谈下程序设计算法的准备心得与体会-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>调查报告心得与体会
老师这次给我们布置了一个任务,就是让我们写一份属于自己的调查报告,针对这个任务,我们小组的六个人通过积极的讨论,提出了一些关于我们产品的问题,当然这些问题并不是很全面,因为我们是从自己的角度出发,无法 ...
随机推荐
- 《带你装B,带你飞》pytest修炼之路1- 简介和环境准备
1. pytest简介 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介 ...
- 【瞎讲】 Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18)
[背诵瞎讲] Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18) 看CSP看到一题"线性递推式",不会做,去问了问zsy怎么做,他并 ...
- $Noip2012/Luogu1083$ 借教室
$Luogu$ $Sol$ 区间整体加减? 差分+树状数组维护前缀和! 那每给一个人借完教室之后都要判断一下现在合不合法?那复杂度比暴力还不如些... 注意到这里的单调性,假设给前$x$个人借完教室之 ...
- 2019年面试官最喜欢问的28道ZooKeeper面试题
前言 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. ZooKeeper 的 ...
- Mysql中使用mysqldump进行导入导出sql文件
纪念工作中的第一次删库跑路的经历 今天接到一个任务,是将一个测试库数据导到另一个测试库,然而我们公司的数据库是不让直连的,所以只能通过远程连接进行导库操作. 老大布置任务的时候让用dump命令进行操作 ...
- Netty之缓冲区ByteBuf解读(一)
Netty 在数据传输过程中,会使用缓冲区设计来提高传输效率.虽然,Java 在 NIO 编程中已提供 ByteBuffer 类进行使用,但是在使用过程中,其编码方式相对来说不太友好,也存在一定的不足 ...
- 质数的判定 Miller_Rabin
----------- 10^18 #include <bits/stdc++.h> #define min(a,b) ((a)<(b)?(a):(b)) #define max(a ...
- JDK 和JRE区别
JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的.需要配置环境变量.... JRE,运行java程序的环境,JVM,JRE里面只有cli ...
- spark storm 反压
因特殊业务场景,如大促.秒杀活动与突发热点事情等业务流量在短时间内剧增,形成巨大的流量毛刺,数据流入的速度远高于数据处理的速度,对流处理系统构成巨大的负载压力,如果不能正确处理,可能导致集群资源耗尽最 ...
- Java.前端.Layer.open.btn验证无效
今天遇到了一个很可笑的问题,在.Layer弹窗open中设置了多个按钮,只有yes按钮有效,btn2点击后直接关闭弹窗,排查了2个小时后终于解决,就是btn2要return false! var in ...