《大话数据结构》笔记[1]

来源:互联网 发布:centos rar 安装 编辑:程序博客网 时间:2024/06/06 03:21
一、数据结构
1.  
数据元素:eg.人
数据项:eg.对应人的眼、耳、鼻等(是数据最小单位)
数据对象:性质相同的数据元素的集合,数据的子集。

2.
(1)逻辑结构:数据对象中数据元素之间的相互关系。
集合结构
线性结构(一对一)
树形结构(一对多)
图形结构(多对多)
(2)物理结构(存储结构)
   数据的逻辑结构在计算机中的存储形式。
    1)顺序存储结构
    2)链式存储结构(指针存放相应地址)

3. 数据类型
原子类型:不可再分的基本类型,整型、实型、字符型等。
结构类型:若干个类型组合而成,可再分解。例如整形数组是由若干整型数据组成的。

抽象:抽取出事物具有的普遍性的本质。
抽象数据类型:一个数学模型及定义在该模型上的一组操作。

二、算法
五个基本特性:输入、输出、有穷性、确定性、可行性。

好的算法要求:
(1)正确性
(2)可读性
(3)健壮性
(4)时间效率高和存储量低

存储量:算法在 执行过程中 需要的最大存储空间。
    主要指算法程序运行时所占的内存或外部硬盘存储空间。

算法效率度量方法:
1)事后统计方法(有缺陷,不采纳)
2)事前分析估算方法

高级编程语言编写的程序在计算机上运行时所消耗的时间取决于下列因素:
1. 算法采用的策略、方法【好坏的根本】
2. 编译产生的代码质量【软件决定】
3. 问题的输入规模
4. 机器执行指令的速度【硬件决定】

函数的渐进增长:
几种算法比较(类似高数中的求导)

时间复杂度:
常数阶
线性阶
指数阶
对数阶
平方阶
立方阶
nlogn阶

平均运行时间最有意义,是期望的运行时间。一般通过一定的实验数据估算出来。

平均时间复杂度
最坏时间复杂度(默认)

0 0
原创粉丝点击