基础:《C语言程序设计:现代方法》(第2版)(C
Programming: A Modern Approach, 2nd Edition, K.N.King)《深入理解计算机系统》(修订版或第2版)(Computer Systems: A Programmer's Perspective,
Randal E. Bryant et al),阅读建议《C语言程序设计》(第2版)(The
C Programming Language, Brian W. Kernighan &Dennis M.
Ritchie)《程序员修炼之道》(The
Pragmatic Programmer: From Journeyman to master, Andy
Hunt &Dave Thomas)
02内核/驱动:Linux内核设计与实现》(第3版)(Linux
Kernel Development, 3rd Edition, Robert Love)《Linux设备驱动程序》(第3版)(Linux
Device Driver, 3rd Edition, Jonathan Corbet et al)《深入Linux内核架构》(Professional
Linux Kernel Architecture, Wolfgang Mauerer)
03应用:《UNIX环境高级编程》(Advanced
Programming in the UNIX Environment, W. Richard Stevens)《UNIX网络编程》(Unix
Network Programming, W. Richard Stevens)
04进阶:《C陷阱与缺陷》(C Traps and Pitfalls, Andrew Koenig)《C专家编程》(Expert C Programming, Peter
van der Linden)《ARM嵌入式系统开发:软件设计与优化》(ARM
System Developer's Guide: Designing and Optimizing System Software,
Andrew Sloss et al)
推荐《数据结构》(c语言版)(清华大学出版社,严蔚敏,吴伟民编著)教材。
《清华大学计算机系列教材:数据结构(C语言版)》的第1章综述数据、数据结构和抽象数据类型等基本概念;第2章至第7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用。
第8章综合介绍操作系统和编译程序中涉及的动态存储管理的基本技术。
第9章至第11章讨论查找和排序,除了介绍各种实现方法之外,并着重从时间上进行定性或定量的分析和比较;第12章介绍常用的文件结构。
本书可作为计算机类专业或信息类相关专业的本科或专科教材。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
重点推荐C语言四大圣经:《C语言程序设计》、《C和指针》、《C陷阱与缺陷》、《C作家编程》。其中C语言的发明者K&R的《C程序设计语言》更是重中之重,此书是C语言的第一秘典。所有优秀程序员的必经之路。四大圣经及其他优秀书籍的信息:
1.《C语言程序设计》
K&R
清华大学出版社
2.《C和指针》
POINTERS ON C Kenneth A.Reek、
徐波 人民邮电出版社
3.《C陷阱与缺陷》
Andrew Koenig、 高巍
人民邮电出版社
4.《C专家编程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民邮电出版社 (2008-02出版)
5.《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》
吴伟民、 严蔚敏
清华大学出版社
6.《计算机算法设计与分析(第3版)》
王晓东
电子工业出版社
7.《算法艺术与信息学竞赛•算法竞赛入门经典》
刘汝佳
清华大学出版社
8.《算法导论(原书第2版)》
科曼(Cormen T.H.)、等、 潘金贵
机械工业出版社 (2006-09出版)
9.《编程之美:微软技术面试心得 》
《编程之美》小组
电子工业出版社
10.《编程珠玑(第2版)》
Jon Bentley、黄倩、 钱丽艳
人民邮电出版社
11.《算法艺术与信息学竞赛》
刘汝佳
清华大学出版社
12.《程序员面试宝典(第3版)》
欧立奇、刘洋、 段韬
电子工业出版社
13.《数学之美》
(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)