美文网首页
数据结构的学习

数据结构的学习

作者: Gentle_Kay | 来源:发表于2018-07-19 14:50 被阅读0次

    数据结构主要研究结点(数组、链表、树、图)和结点之间的关系  或者  说指数据对象中数据元素之间的关系  或者(专业术语:非数值计算程序问题中的操作对象以及他们之间的 关系);  不是研究复杂的算法;

    数据结构中的基本概念:

    数据——程序的操作对象,用于描述客观事物; 特点:可以输入到计算机;可以被计算机程序处理;(比如:int a,.int b 就是数据)

    数据对象——性质相同的数据元素的集合 (比如:数组、链表; Teacher array[10]、int array2[10])

    数据元素——组成数据的基本单位; (比如:array[0]、array[1]、array[2])     一个一个的结点;

    数据项——一个数据元素由若干个数据项组成;  (比如: )

    struct  Teacher

    {

                int age;                       

                char name[64];                     age、name 就是两个数据项

    }


    数据结构的逻辑关系:指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的,逻辑结构课细分为 4 类:

    集合 ——数据元素间 除“同属于一个集合”外,无其他关系(散列)

    线性结构——一个对一个,如线性表、栈、队列 

    树形结构——一个对多个,如 树

    图状结构——多个对多个,如 图

    数据的物理结构:亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。可分为 4 大类:

    顺序:借助元素在存储计算器中的相对位置来表示数据元素间的逻辑关系

    链式:借助指示元素存储地址的指针表示数据元素间的逻辑关系

    索引:                                                    散列:

    数据的逻辑结构与存储结构密切相关

    算法设计  →  逻辑结构

    算法实现  → 存储结构

    数据的运算:(操作或处理)在数据的逻辑结构上定义的操作,它在数据的存储结构上实现;  5 种 运算:插入、删除、修改、查找、排序;


    算法:特定问题的求解步骤的描述;

    算法和数据结构的区别:程序 = 数据结构 + 算法;它们两个相辅相成;

    算法特性:

    输入:  算法具有0个或多个输入;

    输出:算法至少有1个或多个输出;

    有穷性:算法在有限的步骤之后会自动结束而不会无限循环;

    确定性:算法中的每一步都有确定的含义,不会出现 二义性;

    可行性:算法的每一步都是可行的;

    算法效率的度量:事后统计法;事前分析估算法;

    大O 表示法:

    例: 2n+4 →  O(n)、n+2 → O(n)、2 →O(1);

    O(1)<O(logn)<O(n)<O(n logn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)


    时间换空间;空间换时间;

    线性表设计:

    线性表的定义:零个或者多个数据元素的集合;数据元素之间是有顺序的;数据元素个数是有限的;数据元素的类型必须相同;


    未完成。。。。。。

    相关文章

      网友评论

          本文标题:数据结构的学习

          本文链接:https://www.haomeiwen.com/subject/twbbxftx.html