- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
PAGE
PAGE #
第一章概述
1.1研究内容
软件设计中常用的基本技术
1.2术语
敷据(data)— 能够输入到计算机中并能被计算机处理的符号的集合。(广义)
I分解
JS据卒素(data element) 一一构成数据的基本单位(具有完整的独立意义)。
I描述 在某些场合还被称为元素、记录、结点、顶点等。
数据礎(字段)一元素的具体信息
数据结构(data structure) 一一构成数据元素之间的结构关系。
r线性结构
J树形结构(树型结构)
]图结构(网状结构)
〔集合
编号妇名基本I:资奖金???
编号
妇名
基本
I:资
奖金
???
? ??
数据结构示例:
a)工资表示例
序号
学号
姓名
成绩
备注
(b)成绩表示例
(C)家族关系示例匿辑结构(d)群体同关系示例(连絞表示相互认识关系〉 线性、树形(树型)、图(网状)、集合
(C)家族关系示例
匿辑结构
存储绮拘一一数据结构在内存中的实现形式同样的逻辑结构=同样的存储结构
(判断存储结构的好坏)
有关数据结构几个方面的联系
抽象数据 类型 (ADT)
抽象
数据 类型 (ADT)
逻辑结构
1
存储结构
算法性能
I I
运算实现(算法) 算法分析
1-3算法及其描述
算法一一特定问题的求解方法
指令的有限序列满足:
(1) 输入 0?n个
(2) 输出1?n个 与输入有特定联系
(3) 确定性(无二义性) 相同的输入只能有相同的输出
(4) 有限性执区次数有限
(5) 可行性算五可用计算机在有限时冋内实现 算法描述语言
「易憧,灵活
自然语言? L不准确
「准确,严格
计算机语点 I死板
伪语言(类语言):类pascal.类C、类C++ 算法举例:1.求最大公因子(辗转相除法)
韩信点兵问题
幻方问题(纵横图)
1.4算法分析
算法的衡量指标:在正确性的前提下
时间性能一一运行算法的时间开销
空间性能一一运行算法的辅助空间规模
其它性能一一如可读性/可移植性
时间性能(时间复杂度): 以算法运連f间开销|来度量
改耳与具体机器相关 以算法中伞句的所吞沃阙来衝最 简化|计算麻烦
以算法中鳥句的执行次数的阪頁巫|来替代
I![■級:如果变量n的函数Rn)和g(n)满足:hm Rn)/g(n)=常数k(kK s .0),则称Rn)和g(n) 是同一数量级的,并用Rn)=O(g(n))的形式来表示。
0( 1 )O(10g贝)vo(n)vo(nlogji)vo(if)vo(ii3)IK 0(2口广 O(n!)O(n n)
谁以实现
n-1 次
n-1 次
n次
11次
共:3n+2次
1次
数量级为:lim f(n)/g(ii)= lun (3n+2)/n = 3.则时间复杂度为为O (nJ 练习:(l)for(i=l;in; 1++)
for (j=l;j=i;j++) x++; 一 O(n2)
(2)i=l;
wlule (in) i = i*2; ——O(log:n)
2.1栈的定义和运算
第二章栈(stack)
栈一一只能在一端插入和删除元素的线性表 特点:后也先出(LIFO)
a:
??????
att
%
出栈
栈顶
3n-l
31
术语:栈顶栈底入栈(压栈)出桟
栈底
运算:
C卄伪语言描述
-封装类~
⑴初始化
判断栈为空
判断栈为满
取栈顶元索
入栈
出栈
class stack{
public:
stack(J;
Bool empty()const;
Bool fTill()consr;
enor_code get_top(elementtyTpe x)const.
eiror_code push(const elementtype x);
euor_code pop。;
……〃定义其它成员
2.2顺序栈
存储结构:
data
封装类: class stack) public:
count
stack。;
Bool empty()coiist;
Bool fullQconst;
error^code get_top(elementtype $rx)const;
eiToi_code pusli(coiist elementtyoe x); enor_code pop();
private:
iiit coiuit;
eleinentt\pe data[maxlen];
……〃定义其它成员
运算实现:
stack::stack()( count = 0; }
Bool stack::enipty()coiisr{
if ( count = 0 ) return TRUE;
Qietuin FALSE;
}
Bool stack:
if ( count ==
原创力文档


文档评论(0)