- 浏览: 30993 次
- 性别:
- 来自: 北京
最新评论
-
liuxinyu95:
中文版已经完成:https://github.com/liux ...
初等算法 -
liuxinyu95:
补充一下Extended Euclidean algorith ...
POJ 1061青蛙的约会题解 -
maakey:
[u]引用引用[img][url][/url][/img][/ ...
Natural merge sort -
liuxinyu95:
PDF放了一份在github:https://github.c ...
AVL tree,比红黑树更朴素 -
liuxinyu95:
公式2的merge部分有错误,已改正。x1=y1的时候,结果为 ...
为什么要学习算法和数据结构
文章列表
这篇是AlgoXY的Preface或者说是Introduction.
经常有程序员询问:“算法有用么?”,“我工作以来从来没有用过任何算法”,“硬件越来越快,不用算法我的程序也能工作吧?”。”STL提供了那么多算法和数据结构,我能调用就可以了,不用管他们的实现了吧?“
本文给出两个趣题,第一道题目展示算法的威力,第二道题目展示数据结构的威力。
第一道题目是在一组ID中,找出最小的没有被使用的ID,虽然暴力解法能找出答案,但是面对百万级的ID数目,暴力解法实际上花费的时间用户根本没法忍受。通过这个题目,我们感性展示一下算法的威力;
第二道题目是找出第1500个只含有2,3,5因子的数字,暴 ...
今年把两年前写的这篇文章重写了一遍。作为AlgoXY的第一章。
重写后,不要求读者懂任何一门特定的编程语言。全部算法提供了两种描述:
伪代码描述和数学函数描述。
有些地方给出了C++, Python, Haskell的代码片段,但是读者可以完全不懂这些具体的编程语言。
这一章主要希望说,BST实际上可以认为是数据结构这个世界中的 Hello world内容。
有些读者可能认为Array和Linked List这样更为基础的数据结构才是 Hello World,而轮不到二叉树。
这主要是由于,Array的纯函数实现是基于树的,其实比较难。所以我不得不把Array放到后继章节。
大致out ...