最近无事  抽出点时间来整理一下算法  希望对自己有进一步的帮助和对学习算法的同行有一些帮助吧!

讲到算法  这个词是很重一个解决问题的途径 无论在什么行业 算法都是很重要的。

不管你是否承认,无论哪种软件开发项目,几乎所有的程序员,开发者在日常工作中都要同数据结构和算法打交道。当我们阅读源码,对大型软件项目进行层层抽丝剥离之后,呈现我们面前的不再是复杂的层次结构和模式,而是回归到了程序的本质——数据结构和算法上来。有关数据结构和算法题材的经典书籍有很多,如《计算机程序设计艺术》、《算法导论》等,但本书绝对不同于之前的相关书籍 。当我们在学习数据结构和算法时,往往花费了大量的时间纠结于各种公式和理论证明上,学究气息过于浓厚而少了几分实践感。但相关主题的书籍多是与伪码的形式来表达算法思路,缺乏同软件开发实践的集合。试问,当我们辛辛苦苦“学会”了一些算法和数据结构,但在实际标称中往往要么一写就错(伪码毕竟是只是用来表达算法思路,但具体编程时会遇到很多实现 上的细节问题),要么面对问题不只如何下手解决(因为没有实际的应用,不知道如何对问题建模),此时会不会觉得自己白学了?毕竟,我们学到的东西要懂得利用才能体现价值。将一个实际问题同我们学到的算法和数据结构相结合起来,这正是软件开发中的一个项重要技能——抽象建模能力。

这主要的体现在一下几点上:

1.第一部从讲述相关的C语言基础知识和算法分析方法入手,在随后的章节中采用软件工程中的良好准则,结合作者的实践经验将基于接口的C程序设计理念贯穿全书。使用本书中的数据结构和算法实现能够以接口的形式充分得到复用。

2.书中的代码实现主要以教学为目的,但也同样考虑到了实现效率的问题。对于实现方案的选择和取舍,都有详细的说明和解释。每章末尾的“问与答”将加深读者对相关章节的理解。

3.除了对数据结构和算法本身的介绍,书中所有的应用举例都来自于真实的应用,这绝不是一般的练习题,而是算法和数据结构在真实世界中的应用。包括操作系统中的页帧管理、和页面置换算法、表达式处理等等。通过实际的例子向读者展示了数据结构和算法的威力,有助于培养我们抽象建模的能力,从而更有效的将学到了知识用于解决实际问题中。

总的来说,这是一本对“打基础”很有帮助的书。书中对常见的数据结构如链表、栈、队列、结合、何其表、树、堆、图都做了详细的分析并给出了具体的实现。算法方面除了最为常见的排序和检索外,还有数值计算、数据压缩、数据加密、几何计算等方面的主题。

当译者第一次看法哦本书的英文版时,立刻被本书都有的风格所吸引。在看看出版时间居然超过10年之久,令人奇怪的是,这样一本优秀的技术类图在这么长时间里居然从未引进到国内,无论是译作还是影印都难觅其踪,因此我们鼓足勇气开始了本书的翻译。感谢机械工业出版社引进了本书,这才得以让本书的中译本得以和大家见面。由于时间的仓促,和水平有限,在翻译过程中难免会出现一些错误,希望读者能批评指正。

算法精解一(C语言版)相关推荐

  1. 选择排序算法详解之C语言版

    一.算法原理 选择排序属于不稳定排序法,是一种常用的排序算法,其时间复杂度为O(n^2). 所谓的不稳定排序算法是指在一组数据中存在多个相同的数据,但是在排序之后,相同数据的前后位置会发生改变.例如有 ...

  2. 《 算法精解:c语言描述》chm 电子书下载

    本电子书包括基本算法分析原理,基本数据结构.抽象数据结构.递归和树等数据结构知识,选择排序.插入排序.冒泡排序.希尔排序.快速排序方法.归并和归并排序方法.优先队列与堆排序方法.基数排序方法以及特殊用 ...

  3. 计算机操作系统——银行家算法详解(C语言版)

    目录 一.实验目的 二.实验内容 三.实验要点说明 数据结构 银行家算法bank()函数 安全性算法safe()函数 银行家算法实例 程序结构 四.实验代码 五.结果展示 一.实验目的 通过编写一个模 ...

  4. 哈希(Hash)查找算法详解之C语言版

    一.哈希查找算法原理 哈希查找是一种快速查找算法,该算法不需要对关键字进行比较,而是以关键字为自变量,以该关键字在存储空间中的地址为因变量,建立某种函数关系,称为哈希函数,这样在查找某一关键字的时候, ...

  5. 折半插入排序算法详解之C语言版

    一.算法原理 折半插入排序是插入排序方法中一种,相比较与直接插入排序算法,减少了排序过程中比较次数,也是一种常用的排序算法. 折半插入排序算法基本原理是将折半查找方法与直接插入排序方法相结合,也就是在 ...

  6. 霍夫曼(Huffman)编码算法详解之C语言版

    一.Huffman编码 霍夫曼(Huffman)树是一类带权路径长度最短的二叉树树.Huffman树的一个非常重要的应用就是进行Huffman编码以得到0-1码流进行快速传输. 在电报收发等数据通讯中 ...

  7. 资料 | O‘Reilly精品图书系列:算法精解 C 语言描述 (简体中文)

    下载地址:资料 | O'Reilly精品图书系列:算法精解 C 语言描述 (简体中文) 内容简介 · · · · · · 本书是数据结构和算法领域的经典之作,十余年来,畅销不衰! 全书共分为三部分:第 ...

  8. JavaScript 编程精解 中文第三版 零、前言

    零.前言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> We think ...

  9. JavaScript 编程精解 中文第三版 十三、浏览器中的 JavaScript

    十三.浏览器中的 JavaScript 原文:JavaScript and the Browser 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaSc ...

  10. JavaScript 编程精解 中文第三版 十二、项目:编程语言

    十二.项目:编程语言 原文:Project: A Programming Language 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript ...

最新文章

  1. 【转】Windows 64bit下Python环境配置与集成IDE PyCharm
  2. 安装 Homebrew
  3. 霸气!曝阿里于AI方面取得卓越成绩
  4. webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具
  5. 为何获得风险投资的公司多数倒闭了?
  6. pcl画圆球_PCL之轨迹绘制(二)
  7. 图书管理模块功能设计
  8. 跨屏html ui,Amaze UI(HTML5 跨屏前端框架) v2.7.2
  9. 如何在Ubuntu 14.10 上安装WordPress?
  10. VFP中加密和解密数据库的程序(VFP6-9运行没有问题)
  11. TLS协议簇加解密流程
  12. k3s部署Tx2集群
  13. oracle 同义词循环连,Oracle出现ORA-01775:同义词的循环链问题
  14. 神经派考古学 - 推荐一个blog
  15. xp系统从u盘启动计算机,一键u盘装xp系统,教您如何使用U盘装xp系统
  16. C++ Primer Plus 第九章答案 内存模型和名称空间
  17. ajax提交用流的方式,ajax 请求 后台返回的文件流
  18. 计算机中的数制与编码教程,第一章计算机中的数据和编码教程.doc
  19. p2p mysql 数据的拆分 案例_浅析: P2P网贷系统数据库设计
  20. div控制显示与隐藏状态的两种方式

热门文章

  1. @Register指令
  2. 史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
  3. 力学笃行系列之List自定义排序
  4. react使用富文本编辑器
  5. 尚硅谷webpack知识点梳理
  6. 2906: CCF倒水问题
  7. Java常用类(六):FilenameUtils类
  8. 【转载】优秀博文转载
  9. Python初学者必会的3款代码编辑器
  10. Java系列(34)——可变字符串