1. 引言
在接下来的几个月内主要学习数据结构,参考资料如下:
1. 数据结构(c语言版) --- 清华大学出版社 ---作者:严蔚敏 吴伟民
2. 《数据结构》 算法实现及解析 --- 配合严蔚敏 吴伟民编著的《数据结构》 --- 西安电子科技大学出版社 --- 作者:高一凡
主要学习章节如下:
1. 线性表
2. 栈和队列
3. 串
4.树和二叉树
5.图
6.查找
7. 排序
2. 以后章节用到的头文件
教材中定义的OK、ERROR等为函数的结果状态代码, Status为其类型。我们把这些信息放在头文件 ds.h 中。
ds.h 还包含一些常用的头文件,如string.h、stdio.h等。为了操作方便,各个章节中的程序都把ds.h包含进去,
也就把这些结果代码和头文件包含进去了。
// ds.h (以后章节用到的头文件)
#ifndef _DS_H_
#define _DS_H_
#include<string.h>
#include<malloc.h> // malloc()等
#include<limits.h> // INT_MAX等
#include<stdio.h> // EOF(=^Z或F6),NULL
#include<stdlib.h> // atoi()
#include<math.h> // floor(),ceil(),abs()
#include<iostream> // cout,cin
// 函数结果状态代码
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等
typedef int Boolean; // Boolean是布尔类型,其值是TRUE或FALSE
#endif
我用的是linux系统,可以把ds.h复制到/usr/include 目录中,这样就不用再每个程序中都添加此文件了。
3. 学习方法
1. 先看严蔚敏的数据结构课本
2. 看完一章后参照高一凡的那本书自己吧书上的所用程序都写出来,并上机调试分析。
3. 完成1、2 后去网上找一些算法和面试来复习本章节内容。