现在的位置: 首页 > 综合 > 正文

第一章(绪论)

2018年01月21日 ⁄ 综合 ⁄ 共 1163字 ⁄ 字号 评论关闭

1.1
算法+数据结构=程序

1.2
基本概念和术语
数据、数据元素、数据项和数据对象
1.数据:所有能输入计算机并被计算机处理的所有元素的总称。
2.数据元素:数据的基本单位。
3.数据项:组成数据元素的最小单位。
4.数据对象:性质相同的数据元素的集合。
    对于一个学生信息管理系统来说,所有的学生信息和一系列相关属于数据;每个学生的信息属于数据元素;学生的姓名、性别属于数据项;
所有的学生信息属于数据对象。
数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括逻辑结构和物理结构。
逻辑结构:与数据的存储无关,抽象的数学模型。
物理结构(存储结构):数据的存储方式,包括顺序存储和链式存储。
数据类型和抽象数据类型
数据类型:例如int、float自定义类型等。
抽象数据类型(ADT):有用户定义的一种数学模型。//更方便理解算法的一种描述形式,可看成封装好的函数。

1.3
基本数据类型的描述和实现
——略

1.4
算法和算法分析
1.算法的定义及特性
五大特性:有穷性、确定性、可行性、输入、输出。
算法优劣的标准:正确性、可读性、健壮性、高效性。
2.算法的时间复杂度(重点)

对算法时间度的测试:

例一: 
for(i=1; i<=n; i++)//n+1
    for(j=1; j<=n; j++)//(n+1)*n
(  注意:同样的二个for循环,结果并非n*n或(n+1)*(n+1)  ); 
//注释:第一条语句包括一次i=1赋值语句和n次i++,频度为n+1
//第二个语句表示上个语句进行了n次,故为(n+1)*n。

例二:
for(i=1; i<=n; i++)//n+1
    for(j=1; j<i; j++)//(n+1)*n/2
//对于第二条语句,可看为执行了n/2次。


***********************准备工作*************************
//熟练使用结构体、指针
//了解结构体变量的->符号的意义(取结构体中的成员)
//知道伪代码中Status(返回值类型)、ElemType(元素类型)、OK(1或true)、ERROR(0或false)、OVERFLOW(-1),用#define可转化为可编译的代码形式。
//知道ADT是什么,抽象数据类型,代表某种操作,近似于封装好的函数形式,但不能直接使用,需要用户自己完成函数。
//了解c++基本输入、输出、申请存储空间,即会使用cin、cout、new、delete。
//登陆过NYOJ、HDU等网上OJ系统

***********************目的***********************
//达到理解算法并可以通过算法解决一系列OJ问题。

                                                                                                 ————2014.11.4

抱歉!评论已关闭.