[ 2005/12/22 20:14 | by turbozv ]
[ 2005/12/19 00:41 | by turbozv ]
图(Graph)是一种比树更复杂的数据结构。
让我们复习一下离散数学的知识,图 = 点集 + 边集,n个节点的图,边数最多C(n,2)。
一、图的存储(n个节点, e条边):
邻接矩阵
最常用的图静态存储办法,用一个n x n的数组存储任意两节点的连通情况(一般情况下同时存放权值),特点是创建,查找操作非常方便,查询两个节点是否连接的时间复杂度是O(1),不过空间开销很大S(n^2),求节点的入度出度为O(n)。
邻接表
S(n) = n + e
逆邻接表
十字链表(有向图)
邻接多重表(无向图)
让我们复习一下离散数学的知识,图 = 点集 + 边集,n个节点的图,边数最多C(n,2)。
一、图的存储(n个节点, e条边):
邻接矩阵
最常用的图静态存储办法,用一个n x n的数组存储任意两节点的连通情况(一般情况下同时存放权值),特点是创建,查找操作非常方便,查询两个节点是否连接的时间复杂度是O(1),不过空间开销很大S(n^2),求节点的入度出度为O(n)。
邻接表
S(n) = n + e
逆邻接表
十字链表(有向图)
邻接多重表(无向图)
[ 2005/12/18 01:07 | by turbozv ]
[ 2005/12/11 23:00 | by turbozv ]
1、《Data Structure》
点评:作为经典教材,CS的同学们都学过,不用过多介绍,我只想问一句:书中每个例程你能不看书10分钟以内完成么?如果不能,请仔细地再看一遍。
2、《The C Programming Language》
点评:丢掉谭老师的书吧,这本书才是入门C语言的Bible。记住:如果一开始开错了书,以后就错得太远了。如果你已经熟练C语言了,还是建议通读一遍,受益匪浅的。
3、《Expert C Programming》
点评:鱼书,C语言进阶读物,让你对C语言有更透彻的认识,C语言永远学不完的,never over to learn C.
4、《Programming Pearls》
点评:工程中遇到的问题的巧妙解法,不是算法专著,只是一本薄薄的小册子,当小说读最好:)
5、《The Prictice of Programming》
6、《Algorithms in C++》
7、《Data Structures and Algorithm Analysis in C》
8、《Computer Systems: A Programmer's Perspective》
点评:内容就和书名一样实际,以一个程序员的观点来看待计算机系统,比《组成原理》实际得多,对程序员来说是必须看的一本书。
9、《Compilers Principles,Techniques,and Tools》
点评:龙书
10、《Design Patterns Elements of Reusable Object-Oriented software》
点评:OO领域的绝对大作,工程领域中必用到的。
《Pattern-Oriented Software Architecture, Volume 1: A System of Patterns》
点评论:Jarod觉得这本书更实在
点评:作为经典教材,CS的同学们都学过,不用过多介绍,我只想问一句:书中每个例程你能不看书10分钟以内完成么?如果不能,请仔细地再看一遍。
2、《The C Programming Language》
点评:丢掉谭老师的书吧,这本书才是入门C语言的Bible。记住:如果一开始开错了书,以后就错得太远了。如果你已经熟练C语言了,还是建议通读一遍,受益匪浅的。
3、《Expert C Programming》
点评:鱼书,C语言进阶读物,让你对C语言有更透彻的认识,C语言永远学不完的,never over to learn C.
4、《Programming Pearls》
点评:工程中遇到的问题的巧妙解法,不是算法专著,只是一本薄薄的小册子,当小说读最好:)
5、《The Prictice of Programming》
6、《Algorithms in C++》
7、《Data Structures and Algorithm Analysis in C》
8、《Computer Systems: A Programmer's Perspective》
点评:内容就和书名一样实际,以一个程序员的观点来看待计算机系统,比《组成原理》实际得多,对程序员来说是必须看的一本书。
9、《Compilers Principles,Techniques,and Tools》
点评:龙书
10、《Design Patterns Elements of Reusable Object-Oriented software》
点评:OO领域的绝对大作,工程领域中必用到的。
《Pattern-Oriented Software Architecture, Volume 1: A System of Patterns》
点评论:Jarod觉得这本书更实在