欢迎访问我的新博客:http://www.milkcu.com/blog/
原文地址:http://www.milkcu.com/blog/archives/introduction-to-mastering-algorithms-with-c.html
原创:算法精解概述
作者:MilkCu
摘要:本文对《算法精解》做了简单描述,对其中的约束和核心思想简单介绍了一下。
引言
《算法概述》是一本比较基础的讲解算法和数据结构的书,英文名Mastering Algorithms with C。对于每种数据结构和算法,里面都有完整的C语言实现,并没有单纯讲解算法书籍的空洞感。这本书的英文版是在2001年上市的,中文版2013年才上市,翻译步伐有点缓慢。虽然是本老书,C语言也是一种古老的语言,但依然散发着经典的光芒。里面的程序使用纯C语言编写,当然有些可以使用C++的STL简单的实现。这是一本好书,但是中文翻译水平一般,特别是对“引用”滥用很严重。
约定
-
所有void函数都显式包括return语句
尽管这不是必须的,但这有助于快速定位函数的返回位置,而不必费力的去匹配大括号。 -
lg x
这种记法表示以2为底数,x的对数,正式写法为log2 x。这种记法在有关算法的讨论中很常见,因此本书也采用这种记法。
数据结构和算法简介
使用数据结构和算法的三个原因是:效率、抽象和重用性。
在C语言里,通过使用指向void类型的指针来管理任意类型的数据,而不是在数据结构内部维护一份数据的私有副本。
算法设计的一般方法
随机法
分治法
动态规划
贪心法
近似法
软件工程的思想
模块化
可读性
简洁性
一致性
(全文完)
本文地址:http://www.milkcu.com/blog/archives/introduction-to-mastering-algorithms-with-c.html