这篇是AlgoXY的Preface或者说是Introduction.
经常有程序员询问:“算法有用么?”,“我工作以来从来没有用过任何算法”,“硬件越来越快,不用算法我的程序也能工作吧?”。”STL提供了那么多算法和数据结构,我能调用就可以了,不用管他们的实现了吧?“
本文给出两个趣题,第一道题目展示算法的威力,第二道题目展示数据结构的威力。
第一道题目是在一组ID中,找出最小的没有被使用的ID,虽然暴力解法能找出答案,但是面对百万级的ID数目,暴力解法实际上花费的时间用户根本没法忍受。通过这个题目,我们感性展示一下算法的威力;
第二道题目是找出第1500个只含有2,3,5因子的数字,暴力解法看似能找到答案,但实际上花费的时间根本无法忍受。通过这个题目,我们感性展示一下数据结构的威力;
最后,本文还有一个观点,那就是通常教科书中算法和数据结构多为imperative的,很少有纯functional的。而后者可以使得很多算法和数据结构变得非常的简单,直观,容易理解。
原文地址:https://sites.google.com/site/algoxy/introduction
PDF:https://sites.google.com/site/algoxy/introduction/preface-en.pdf
源代码:https://github.com/liuxinyu95/AlgoXY
内容由GNU FDL保护,源代码由GNU GPLv3保护
分享到:
相关推荐
### 为什么要学习数据结构和算法? #### 一、引言 数据结构与算法是计算机科学的基础,也是软件工程师必备的核心技能之一。对于许多初学者乃至有一定工作经验的开发者来说,可能会疑惑:“为什么我们要学习数据...
张教授在教学过程中的感悟和经验被凝结在这本《算法与数据结构学习辅导及习题详解》之中。他认识到学生在做题时遇到的困难,并认为学生在做题过程中的错误往往是教材中未被重点解释的问题。因此,他编写本书的目的...
这本"算法与数据结构学习笔记"涵盖了这两个核心概念的详细讲解,对于任何想要深入理解计算机科学原理、提高编程技能的人来说,都是一份宝贵的资源。 算法,简单来说,就是解决特定问题的步骤或指令集。它在计算机...
学习数据结构的软件 和好用的 真的利于学习 算法和数据结构 希望大家看看 好好看吧 些的够多的了不说学习数据结构的软件 和好用的 真的利于学习 算法和数据结构 希望大家看看 好好看吧 些的够多的了不说学习数据结构...
在学习算法与数据结构时,首先我们要理解什么是算法。算法是一系列明确的步骤,用于解决特定问题或执行特定任务。它们可以是简单的,如计算两个数的加法,也可以是复杂的,如搜索引擎的搜索策略。常见的算法类型包括...
本书主要介绍了 JavaScript 语言的基础知识,包括数据结构和算法。以下是该书的详细知识点: 一、JavaScript 基础知识 * 变量和数据类型 * 运算符和控制结构 * 函数和对象 * 数组和字符串 二、数据结构 * 数组:...
《算法与数据结构》学习指导与习题解析-王晓东-傅清祥-叶东毅版 本书是与全国工科电子类专业“九五”规划教材《算法与数据结构》配套的辅助教材。为了让使用《算法与数据结构》作为教材的教师和学生在广度和深度的...
这本由王晓东、傅清祥和叶东毅编著的学习指导与习题解析,为读者提供了一个深入理解和实践算法与数据结构的宝贵资源。 该书的核心内容可能包括以下几个方面: 1. **数据结构**:数据结构是存储和组织数据的方式,...
算法与数据结构学习指导与习题解析算法与数据结构学习指导与习题解析算法与数据结构学习指导与习题解析算法与数据结构学习指导与习题解析算法与数据结构学习指导与习题解析算法与数据结构学习指导与习题解析算法与...
学生可以通过这个资源深入理解数据结构,提高解决问题的能力,为应对算法与数据结构的考试做好充分准备。在准备过程中,建议学生不仅要熟记知识点,还要通过实践来提升算法实现能力,这样才能在考试中取得理想的成绩...
通过学习这些材料,可以逐步提升对数据结构和算法的理解,为成为一名优秀的程序员或系统设计师打下坚实的基础。记住,实践是检验理论的最好方式,所以不仅要理解理论,还要多做练习,亲手实现和调试数据结构的代码,...
《算法与数据结构考研试题精析》收集了自1992年以来国内60余所重点高校和科学院、所300多套硕士研究生入学“算法与数据结构”考试试卷的1600多道试题,并给出了参考答案和分析。《算法与数据结构考研试题精析》可以...
《Delphi算法与数据结构》是一本专注于使用Delphi编程语言进行算法实现和数据结构学习的资源集合。在计算机科学中,算法和数据结构是核心基础,它们是编写高效、可扩展程序的关键。Delphi,作为面向对象的 Pascal ...
学习数据结构和算法的过程中,实践至关重要。通过编写代码实现各种数据结构和算法,可以加深理解并提高问题解决能力。此外,学习如何分析和比较算法的效率,如使用大O符号表示时间复杂度,也是必不可少的技能。 本...
数据结构与算法分析是计算机科学中的核心领域,对于任何想要深入理解编程和软件开发的人员来说,这都是不可或缺的知识。这个电子书合集包含了23本相关书籍,其中包括经典著作如《算法导论》、《编程之美》以及《设计...
《算法与数据结构体系课(Java版,16周全)》是一门全面深入学习算法与数据结构的课程,特别适合对计算机科学有兴趣或者正在学习软件开发的Java开发者。这门课程涵盖了从基础到高级的各种数据结构和算法,旨在提升...
例如,他在《算法与数据结构C语言描述》中,以数据结构为主线,以算法为辅线,旨在强调两者在问题求解中的地位和作用,并通过具体样例,帮助学生更好地理解和掌握数据结构的核心内容和基本要求。 综合来看,张乃孝...
学习Delphi的算法和数据结构有助于开发者提高程序性能,减少内存消耗,以及更好地理解和应用设计模式。例如,理解栈和队列的概念可以帮助实现事件驱动的编程模型;掌握树和图的结构,则能有效地解决复杂问题,如网络...