1到100求和学算法之开篇

简介: 1到100求和学算法之开篇

Pascal之父尼古拉斯·沃斯因提出著名公式“算法+数据结构=程序”而荣获1984年计算机领域的最高奖项-图灵奖。通过这个公式,可以发现算法对于程序设计的重要性。然而算法思想的学习异常抽象,而且往往虽然理解了算法的思想却难以应用其解决实际问题。


互联网算法文章现状

互联网的出现让我们获取知识变得比以往任何时候都要便捷,面对海量的信息,甚至经常会出现信息过载的情况。同样,互联网上也有非常多的文章来介绍各种算法。通过阅读互联网介绍算法的部分文章,发现存在以下问题:

1、算法文章的质量参差不齐。随着互联网技术的快速发展,进入2.0时代后,让每一位互联网用户都成为了内容的创造者。利用百度搜索引擎输入“算法”后,会出现来自几乎所有互联网用户撰写的文章,虽然搜索引擎本身已经为我们做了一定的筛选和排名,但是受限于算法文章撰写作者自身的水平,导致文章质量差异较大。

2、算法思想的描述晦涩难懂。算法思想本身是高度抽象,部分算法较为复杂,因此给学习者带来一定的困难。现有文章大多是照搬教材等不同来源的内容,些许的文章增加案例帮助学习者理解,文章的同质化现象较为严重。一个复杂的算法思想需要用简单的语言表达出来,并且能够让学习者理解。做到这一点的前提是文章作者对算法本身有较深的理解,熟悉一定的教学技巧,同时还要了解学习者在学习时的心理,经过各种转化,最后能够用简单的语言表达出来,这所有的一切都需要一定的沉淀和积累才能做到。

3、不同算法文章选取的问题背景均不同,读者需要花费较多的时间来了解背景知识。现有的个别文章虽然采用案例的方式帮助读者更好理解算法思想,但是不同算法选取的案例不同,部分案例较为复杂不便于理解,且无法形成算法体系。读者在学习的时候,需要不停切换各种算法问题场景,容易造成算法学习的分散,无法形成聚焦,导致算法学习效率较低。


算法文章撰写思路

为了有效应对上述挑战,提出以下两种方式进行算法学习文章的撰写。本系列文章选取1100求和问题,尝试从不同角度加以分析,介绍常见算法思想。1100求和是一个非常简单的问题,同时也是程序设计语言初学者都会遇到的一个问题,因此该案例的选取具有较强的通用性,读者不必花费太多的时间和精力去了解案例的背景知识,而专注于算法思想本身。一个问题通常有N种解法,针对1100求和这个问题,从不同角度加以分析,应用不同的算法思想解决这个问题,最终实现“一个问题、多种算法”的学习。本系列文章由主线和辅线两个部分组成。主线围绕1100求和问题开展多种算法思想的阐述。辅线将对主线涉及到的一些关键知识点进行补充介绍,帮助读者了解更多的细节。之所以采用主线、辅线两种方式分开的原因在于,该方式能够帮助读者更好的聚焦算法本身,如果读者已经了解并熟悉该部分内容,则可以跳过并继续后续阅读,反之可以阅读辅线文章以帮助其更好的了解细节。

 

特色和亮点

首次提出了“一个问题、多种算法”的算法学习路径。让读者将主要的时间和精力聚焦在不同算法思想的学习和理解上,最大程度上减少案例背景知识的学习。选取的问题简单、通俗易懂,能够帮助大家快速熟悉背景知识,尽早的投入到算法本身的学习。从不同角度深入研究和探讨同一个问题,在学习算法的同时,掌握多种分析问题的方法。除了知识的传授之外,更加注重算法能力的培养,帮助读者在掌握算法思想后能够灵活应用其解决实际问题,而不仅仅是停留在知识学习的层面。

 

目录
相关文章
|
3月前
|
算法 前端开发
前端算法-二进制求和
前端算法-二进制求和
|
4月前
|
算法
常用的简单校验算法:校验和,异或校验,crc校验,LRC校验,补码求和,checksum
常用的简单校验算法:校验和,异或校验,crc校验,LRC校验,补码求和,checksum
167 1
|
10月前
|
算法 搜索推荐
【1到100求和学算法】1#开篇
【1到100求和学算法】1#开篇
51 0
|
10月前
|
算法
1到100求和学算法之循环的秘密(1)
1到100求和学算法之循环的秘密(1)
42 0
|
10月前
|
存储 人工智能 算法
从1到100求和学算法思维(六)
从1到100求和学算法思维(六)
83 0
|
10月前
|
算法 Java
从1到100求和学算法思维(五)
从1到100求和学算法思维(五)
70 0
|
10月前
|
算法
从1到100求和学算法思维(四)
从1到100求和学算法思维(四)
65 0
|
10月前
|
机器学习/深度学习 算法 Java
从1到100求和学算法思维(三)
从1到100求和学算法思维(三)
86 0
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真