数据结构学习记录1

 数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。数据结构分为逻辑结构和物理结构(或存储结构):逻辑结构是指数据对象中数据元素之间的相互关系,它分为以下四种:集合结构、线性结构、树形结构图形结构;物理结构是指数据的逻辑结构在计算机中的存储形式,它有以两种形式:顺序存储结构和链式存储结构。

    算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
    算法具有五个基本特点:输入、输出、有穷性、确定性和可行性。
    算法的设计要求:正确性、可读性、健壮性、高效性和低存储量需求。
    算法的度量方法:事后统计方法(不科学、不准确)、事前分析估算方法。
    算法时间复杂度(大O阶)的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模 n 的函数,进而分析T(n)随 n 的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。
    推导大O阶的步骤:
        1、用常数1取代运行时间中的所有加法常数。
        2、在修改后的运行次数函数中,只保留最高阶项。
        3、如果最高阶项存在且不是1,则去除与这个项相乘的常数。
        得到的结果就是大O阶。
    常见的时间复杂度所耗时间的大小排列:
O(1)<O(㏒n)<O(n㏒n)<O(n²)<O(n³)<O(2^n)<O(n!)<O(n^n).

    线性表:零个或多个数据元素的有限序列。
    线性表包含两大结构:
1、顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。通常用数组来实现这一结构。
2、链式存储结构,是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。它有单链表、循环链表、双向链表和静态链表。
    顺序存储结构和链式存储结构的对比:
顺序存储结构受到存储空间限制,查找操作比较方便,插入和删除操作不方便;链式存储结构具有不受固定的存储空间限制,可以比较快捷的插入和删除操作的特点,不过它查找没有顺序存储结构方便快捷。 

你可能感兴趣的:(数据结构)