`
Rocky_rup
  • 浏览: 146078 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

重新认识算法

阅读更多

一直以来都没有正正经经的读过一本关于算法的书,只因为当初老师说过,“算法前人都写好了,你就拿来用好了”,以至于我对算法的理解还一直停留在“排序”的层次,现在想来惭愧不已。


不错,经典的算法几乎所有流行的编程语言都有现成的实现,供我等应用开发人员直接使用。而且,若要想在盛行DRY的氛围下,尝试从头再来一次的话,所要承受舆论的压力不可小视。


但算法就仅仅只是指“快速排序”、“八皇后”吗?不是,算法是思想,比方说《算法导论》中开篇就以排序而引入的“分治—合并”的思想。算法也是规律,因为我们总是让计算机重复再重复着它解决同样一类问题。

 

从实用的角度看,算法的确没有必要再实现一边,毕竟那是浪费时间。可是,理解算法的最佳实践莫过于是再实现一边它。这不禁让我联想到,开源社区中处处都会听到DRY的呼喊,然而每天还是会有重复的新项目出现,可细想之下,我发现很多耳熟能详的项目都是在重复中诞生,在理解中升华的。

 

因此,我要重新认识算法,不是为了那天能够把书上的代码copy到IDE中复用,而是要在它的基础上创造新的算法。

 

 

 

 

分享到:
评论
1 楼 wuziteng2006 2010-03-11  
好久不见,不知你现在在算法上有没有新的突破?

相关推荐

    算法概述---认识算法

    总结来说,"算法概述"这一主题旨在引导初学者认识算法的基本概念,理解其重要性,并提供学习算法的路径。通过深入研究数据结构,掌握不同类型的算法,以及通过实践来巩固知识,我们可以逐步建立起强大的算法基础,为...

    算法导论中文版

    对于编程新手来说,该书能够帮助他们建立起对算法基础的认识,并在学习过程中形成良好的编程思想,为日后从事相关的开发和研究工作打下坚实的基础。 算法是计算机科学中最为重要的概念之一,它是由一系列定义清晰的...

    基于LMS算法与RLS算法自适应滤波及仿真分析

    同时,本文通过原理推导、软件仿真的试验方法,设置输入信号、噪声信号,通过输出信号的图像走势对两种算法的优缺点进行对比分析,使读者对两种算法及滤波器的设计具有直观的认识,有一定的参考意义。

    算法谜题(算法谜题)

    实例分析会帮助读者更好地理解策略和技巧的应用,加深对算法设计方法的认识。 谜题部分则将众多算法谜题按照难度分级,即简单、中等难度和较难。这些谜题中有些源自古典谜题,它们是算法和数学问题的经典例子,有助...

    认知的算法阐释:人工智能对当代认识论研究的启示.pdf

    在探讨认知的算法阐释与人工智能对当代认识论研究的启示时,首先需明确认知与算法的基本概念以及它们之间的相关性。认知通常指的是生物体获取、处理、存储、使用信息的能力,而算法是完成特定任务的一系列指令。在...

    hello算法-文本-讲解算法的入门资料

    这部分会帮助读者建立对算法的初步认识。 2. **算法分类**:书中可能涵盖了排序算法(如冒泡排序、选择排序、插入排序、快速排序等)、查找算法(如线性查找、二分查找)、图算法(如深度优先搜索、广度优先搜索)...

    操作系统磁盘调度算法实验报告

    操作系统磁盘调度算法实验报告 本实验报告的主要目的是设计一个磁盘调度模拟系统,旨在使磁盘调度算法更加形象化...本实验报告只是对磁盘调度算法的初步研究,旨在为学生提供一个初步的认识和理解磁盘调度算法的机会。

    541127 算法新解.pdf

    它不仅帮助我们认识到算法的重要性,而且提供了一系列改进算法的方法。同时,深入探讨了数据结构的重要性,特别是树结构的应用,以及插入排序的进化和二叉搜索树的详细解析。掌握了这些内容,无疑能够使我们在解决...

    “编译原理”课程建设的新思考收集.pdf

    * “编译原理”课程的主要教学目标之一是使学生在系统的级别上重新认识算法和程序,提升学生的系统能力。 * “编译原理”课程要求学生掌握的知识、思想和方法包括程序变换基本概念、问题描述和处理方法、算法设计与...

    图像注册算法一点认识

    - **八分树算法**: 一种高效的图像采样算法,主要用于三维图像数据的压缩和简化。该算法通过将图像分割成八个子块,并递归地应用相同的过程来实现图像数据的有效表示。 - **过程**: 1. 将三维图像划分为8个等大小...

    C++算法-图算法

    从实用的视角,以独特的结构将有关内容组织在一起,从而使读者不仅可以对这一领域有系统性的认识,而且还可在实践中灵活使用所提供的算法工具。本版中,增加了数以千计的新练习、数百年新图表以及数十个新程序,而且...

    程序的灵魂—算法初步认识.

    ### 程序的灵魂—算法初步认识 #### 算法概述 算法是解决问题的一系列步骤和方法。在计算机科学中,算法是程序的核心组成部分,它定义了如何处理数据以达到预期的结果。沃思提出的公式“数据结构 + 算法 = 程序”...

    祖冲之算法

    学习和理解祖冲之算法,不仅可以帮助你掌握一种重要的加密技术,还能让你对线性反馈移位寄存器和流密码有深入的认识。此外,通过阅读和分析C语言代码,你还可以提升编程技能,特别是对于低级别安全算法的实现。这个...

    高级算法-近似算法

    近似算法是一种算法设计技术,它允许我们快速找到满足某些优化问题的近似解,而不是最优解。这种算法在处理NP难问题时尤其有用,因为这些问题被认为是很难在多项式时间内找到精确解的。在计算机科学和数学领域,探索...

    算法基础.打开算法之门.[美]托马斯 H.科尔曼(带详细书签)

    道路网(哪些十字路口到哪些十字路口有直接相连的道路,这些道路有多长),任务间的依赖关系(哪个任务必须在其他任务之前完成),金融关系(世界各国货币间的汇率是多少),或者是人与人之间的联系(谁认识谁?...

    ofdm符号同步算法-schmidl&cox算法的matlab实现.rar

    通过阅读和运行这段代码,可以增强对信号处理和通信系统设计的认识,为进一步学习高级通信技术打下基础。 总的来说,Schmidl&Cox算法在OFDM系统中扮演了重要角色,不仅简化了同步过程,还提高了系统的鲁棒性和效率...

    算法谜题.pdf

    通过了解上述关于算法谜题的知识点,我们能够认识到算法谜题在培养个人的思维能力和专业技能上的重要作用。如果希望进一步提升自己在解决算法谜题方面的技能,建议可以从一些开源的在线平台或专业书籍开始,逐步深入...

    操作系统之LRU算法(java)(csdn)————程序.pdf

    实验目的和要求是使用高级语言模拟页面置换算法 LRU,加深对 LRU 算法的认识。 实验过程描述: 首先,我们定义了一个名为 LRU 的二维数组,用于存储页面信息。每个数组元素是一个长度为 2 的数组,其中第一个元素...

    PID算法简单认识.zip_pid_pid程序 简易_pid算法的认识_我对pid的认识

    在压缩包中的“PID算法简单认识”文件中,通常会包含一个简单的PID控制器的代码示例。这个程序可能包括以下几个关键部分: 1. 初始化:设置PID参数,如比例、积分和微分增益。 2. 循环控制:持续监测误差并更新PID...

Global site tag (gtag.js) - Google Analytics