最近武汉的n-Cov使得大家只能在家办公了。

在家里的感受是什么样的呢?

1.上班的时候一直在奔跑,现在总算可以有集中的时间来思考一些之前一直没能好好整理的内容

2.时间变得自己可以掌控,优先级有自己掌控,暂时这一两个星期不需要为钱而奔波,感觉每天其实过得很充实

首先声明我不是什么算法高手,身边有很多算法高手太厉害了,我仅是一名考虑如何将孩子们能领入计算机正确之门的教育工作者。

最近因为要给一些孩子(5年级到初中)讲下基础算法,而且孩子肯定是需要深入浅出的,这样其实对老师是个很高的要求。

为了不给孩子带错路,不让孩子们觉得算法很难产生抵触情绪,本人最近在阅读大量的资料和上各个大学的公开课。通过大量阅读资料和视频学习,发现当老师真是一个教学相长的过程。

读大学那会儿学习都没这么认真过:)

1.目标与出发点

主要从以下几个方面:

1.如何用简单形象化的例子来讲述一个算法,最好是生活中的列子

2.找一些能用简单代码来体会算法的例子

3.如何归纳出,看到题目,大概能反应出题目考的是哪个算法

4.使用这些算法解题要注意的关键点

2.参考书籍

下面是参考的一些书籍,书籍真的是世界上最好的东西,作者一般都是在书中尽量倾其所有。但是书籍的作者一般会写作专注于某一个或多个方面,和一部分特定人群,所以需要博览群书来提取符合自己的内容。

下面是我参考的一些书籍,感觉角度和内容还是比较丰富。

书中有几段文字,还是挺有意思的,我也截图了一下:

-- “从本质上说,算法只是做事的方法,因此一个不怎么会写程序的数学家也可是算法领域的顶尖高手”

-- “以对一个无序数列进行从小到大排序的问题为例,小学生都能想出的‘插入排序’算法,大多数人打牌摸牌的同时,让手上的同色花牌保持有序,就是用的这种方法”

其实我们生活当中,不自然的在应用一些非常好的算法。

--“算法可以说是程序的灵魂。算法水平额高低很大程度上决定了程序员的层次。”

--“没有算法工地的程序员俗称为码农,大多只能从事技术含量低、机械的编程工作。一般IT培训机构不教算法,培养的就是此类人员。”

3.成果与感受

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

下面这个网站给我帮助很大,分享你们

https://www.geeksforgeeks.org/

在线视频我觉得比较好的

https://www.icourse163.org/

算法研究学习的一些心得体会,也许很多人觉得浅显,不过自己感觉还是很有满足感的,所以写一下:

1.基础程序设计是for,while循环,加上判断语句

2.程序设计水平的提升,在于你能熟练使用递归,掌握了递归你能控制计算机程序就进入了另外一个阶段

3.大的问题,看起来很复杂,那么我们只能使用分而治之的手法,将大问题分解成为小问题,通过解决小问题来完成大问题的解

4.有些问题,穷举所有情况是NP完全问题,那么计算近似解又快又简单,比方贪心算法

5.计算机擅长的是什么?按照一个式子重复性的工作,那么如果一个问题我们能推导出一个递推式,并且能给出终止条件(也就是问题被分解到足够小,并能求解时的条件),剩下的就交给计算机来完成吧

6.程序的调用栈这个东西很有意思,先搁置一连串待解决的问题,等栈顶这个问题解决了,一连串问题,像多米诺骨牌一样,全部解决:)

7.当然请大概估算一下时间复杂度空间复杂度,牺牲时间换空间?牺牲空间换时间?存储已计算过的值来避免重复计算

8.人类这个个题能生存这么久,那么其实天生就会使用很多优秀的算法,只是我们没有发觉而已

好了 好了,才疏学浅就暂时能总结这么多了,等水平有了更高提升,对程序有了更高的理解再来写吧~~ 希望对大家有益。

谈下程序设计算法的准备心得与体会-nCov隔离也许帮你提升能力的更多相关文章

  1. 浅谈Base64编码算法

    一.什么是编码解码 编码:利用特定的算法,对原始内容进行处理,生成运算后的内容,形成另一种数据的表现形式,可以根据算法,再还原回来,这种操作称之为编码. 解码:利用编码使用的算法的逆运算,对经过编码的 ...

  2. 从决策树学习谈到贝叶斯分类算法、EM、HMM --别人的,拷来看看

    从决策树学习谈到贝叶斯分类算法.EM.HMM     引言 最近在面试中,除了基础 &  算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全 ...

  3. 从决策树学习谈到贝叶斯分类算法、EM、HMM

    从决策树学习谈到贝叶斯分类算法.EM.HMM                (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...

  4. 浅谈URLEncoder编码算法

    一.为什么要用URLEncoder 客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将 ...

  5. 浅谈Hex编码算法

    一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转 ...

  6. 浅谈关于特征选择算法与Relief的实现

    一. 背景 1) 问题 在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果: 1.     特征个数越多,分析特征.训练模型所需的时间就越 ...

  7. 在Eclipse下配置算法(第四版)运行环境

    第一步:配置Eclipse运行环境 Eclipse运行环境配置过程是很简单的,用过Eclipse进行java开发或学习的同学应该都很熟悉这个过程了. 配置过程: (1)系统环境:Windows7 64 ...

  8. 谈下slot-scope

    Vue里有个slot插槽的概念,常用的一般是命名的slot和默认的slot, 这里谈下slot-scope,Vue2.6后改成v-slot slot-scope场景是父组件用子组件的数据,但是样式自己 ...

  9. <2048>调查报告心得与体会

    老师这次给我们布置了一个任务,就是让我们写一份属于自己的调查报告,针对这个任务,我们小组的六个人通过积极的讨论,提出了一些关于我们产品的问题,当然这些问题并不是很全面,因为我们是从自己的角度出发,无法 ...

随机推荐

  1. linux大盘格式化分区

    Linux 实例的磁盘管理 对于 Linux 系统上的大磁盘,也要采用 GPT 分区格式, 也可以不分区, 把磁盘当成一个整体设备使用. 在 Linux 上一般采用 XFS 或者 EXT4 来做大盘的 ...

  2. 解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找

    做项目是遇见下拉框的形式,后台返回来3万多条,用element UI中的select选择器中的搜索还是会造成页面卡顿和系统崩溃,因此用了它的远程搜索功能,发现还不错,解决了这个问题. 代码1 < ...

  3. Visual Studio 2015 编译生成支持HTTPS协议的libcurl静态库

    由于之前的工作需要使用libcurl 开源项目库 在各种研究后发现无法使用HTTPS协议 后来经过各种翻阅文档,发现需要OpenSSL支持,这个需要自己下载并自己编译生成 lib 或者 dll 至于O ...

  4. 【题解】CF1142B Lynyrd Skynyrd(倍增)

    [题解]CF1142B Lynyrd Skynyrd(倍增) 调了一个小时原来是读入读反了.... 求子段是否存在一个排列的子序列的套路是把给定排列看做置换,然后让给定的序列乘上这个置换,问题就转化为 ...

  5. Java迭代器源码解析

    private class Itr implements Iterator<E> { int cursor; // 调用next方法返回的元素的索引 int lastRet = -1; / ...

  6. 1045 快速排序 (25 分)C语言

    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问 ...

  7. Java基础知识学习(一)--引用

    1.概念 如果一个变量的类型为类类型,而非基本类型,那么该变量就叫做引用:   2.对象引用 new Person(); 如上,代表创建了一个对象,但也仅仅是创建了,并没有办法去访问它.   为了访问 ...

  8. DjangoCBV源码分析

    目录 FBV CBV CBV基本写法 CBV源码分析 settings源码分析 FBV FBV是基于函数的视图 CBV CBV是基于类的视图 CBV基本写法 ​ 朝login提交get请求会自动执行M ...

  9. C#事件(Event): 发布符合 .NET Framework Guidelines 的事件

    本文翻译整理自:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/events/how-to-publish-event ...

  10. C++指针声明

    指针声明 void f(int) void (*p1)(int)=&f; void (*p2)(int)=f; 调用例子: int f(); int (*p) ()=f; //指针p指向f i ...