第一章 绪论
1 什么是数据结构(Data Structure)
    数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的科学。
    数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。
    数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    四类基本逻辑结构:
        1)集合:除了“同属于一个集合”的关系外,别无其他关系
        2)线性结构:一对一
        3)树形结构:一对多
        4)图状结构或网状结构:多对多
    两类存储结构:
        1)顺序存储结构
        2)链式存储结构
    任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。
2 算法和算法分析
    算法的5个重要特性:
        1)有穷性:在执行有穷步之后结束,且每一步都可在有穷时间内完成.
        2)确定性:相同的输入只能得出相同的输出。
        3)可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
        4)输入:零个或多个输入
        5)输出:零个或多个输出
    算法设计的要求:
        1)正确性(Correctness)
            a. 程序不含语法错误
            b. 程序对于几组输入数据能够得出满足规格说明要求的结果
            c. 程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能够得出满足规格说明要求的结果
            d. 程序对于一切合法的输入数据都能产生满足规格说明要求的结果
        2)可读性(Readability)
        3)健壮性(Robustness):当输入数据非法时,算法出能适当地作出反应或进行处理,而不会产生莫明其妙的输出结果。
        4)效率与低存储量需求